在C++ Primer书上看的,不懂的地方特来请教!
从一个名为 in_file的文本文件中读取单词,然后再把每个单词写到一个输出文件中out_file中,并且每个单词分开。书上给的代码是
#include <iostream>
#include <fstream>
#include <string>
int main()
{
ofstream outfile("out_file");
ifstream infile("in_file");
if(!infile){
cerr<<"error:unable to open input file!\n";
return -1;
}
if(!outfile){
cerr<<"error:unable to open output file!\n";
return -2 ;
}
string word;
while(infile>>word)
outfile<<word<<' ';
return 0;
}
我以为是我没有in_file和out_file 文件,就自己建了。可是编译后执行的时候,告诉我不能打开。
小弟求解!
问题点数:5、回复次数:8Top
1 楼apollon_hhy(一天五十页!)回复于 2005-08-03 02:04:09 得分 3
我 调试了可以 运行
在 #include <string> 下面添加
using namespace std ;
然后 在你 的当前文件夹里 新建一个 in_file 的文件(注意后缀名 比如in_file .txt)就行了
程序 相应的位置 要改为
ofstream outfile("out_file.txt");
ifstream infile("in_file.txt");
Top
2 楼apollon_hhy(一天五十页!)回复于 2005-08-03 02:04:45 得分 0
#include <iostream>
#include <fstream>
#include <string>
using namespace std ;
int main()
{
ofstream outfile("out_file.txt");
ifstream infile("in_file.txt");
if(!infile){
cerr<<"error:unable to open input file!\n";
return -1;
}
if(!outfile){
cerr<<"error:unable to open output file!\n";
return -2 ;
}
string word;
while(infile>>word)
outfile<<word<<' ';
return 0;
}Top
3 楼liuliudong(子不语)回复于 2005-08-03 02:04:52 得分 1
其他的不说,你上面的代码似乎在vs2003里面编译不过,因为没有using namespace std;这一句啊。
另外,你所说的错误信息能否再详细一些呢?Top
4 楼liuliudong(子不语)回复于 2005-08-03 02:05:54 得分 0
to apollon_hhy
文件有否后缀名对程序都没有什么影响的吧。Top
5 楼renmo80()回复于 2005-08-03 02:47:01 得分 0
我想了想也是少了一句:using namespace std;
后来加上去,错误依然存在,错误信息就是我写的:“error:unable to open input file!”
编译是通过的,但是执行不了。
我现在就用2楼方法试 试。
非常感谢Top
6 楼renmo80()回复于 2005-08-03 02:56:29 得分 0
回 apollon_hhy(apollon_hhy)
刚才我试了,按你说的改了后缀,在程序中也改了,也在我存程序的地方建了in_file.txt和out_file.txt,编译也通过了,(说明我是用的C-Free3.5),可还是执行时还是: “error:unable to open input file!”
郁闷中,小弟望求解!感谢Top
7 楼andy_bin(乐逍遥)回复于 2005-08-03 03:08:40 得分 1
有没有把你的文件加入当前工程呢?
二楼的没有问题的哈!Top
8 楼renmo80()回复于 2005-08-03 03:15:27 得分 0
恩,,是没有加入,现在问题解决了。非常感谢!!Top




