在联系《C++ Primer》这本书的标准IO库时,使用ifstream读取一个文件老是不能成功。自己写的代码如下:
ifstream infile("test.txt");
while(!infile)
{
infile>>temp;
cout<<temp;
}
程序可以编译通过,但是一直进不去循环,打印不出文件内容。查看infile中的内容,很多提示 expression cannot be evaluated 。这也就是为什么进不去while循环的原因。但是很多书和资料都是这样写的,查了很久才发现这样写永远进不去循环,因为infile一直是无效的。(不知道为什么)
改正后应该是:
ifstream infile("test.txt");
while(!infile.eof())
{
infile>>temp;
cout<<temp;
}
这样就可以进去循环了。