Sam.Wang

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在联系《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;
}


这样就可以进去循环了。

posted on 2012-03-21 20:54  Sam.Wang  阅读(467)  评论(0编辑  收藏  举报