【发布时间】:2012-10-31 21:26:02
【问题描述】:
可能重复:
Why is iostream::eof inside a loop condition considered wrong?
我有一个很简单的问题...
#include<iostream>
using namespace std;
int main()
{
char x;
while(!cin.eof())
{
cin>>x;
cout<<"char: "<< x << endl;
}
return 0;
}
为什么当我尝试在 Linux 上运行此代码时:
./file_name
结果是:
字符:a
字符:b
字符:c
字符:d
字符:d
当 test_file.txt 只有:
abcd
【问题讨论】:
-
因为使用
eof()总是错的、错的、错的。现在有成千上万个重复的问题,如果一个问题不是重复的,它仍然包含相同的错误... grumble grumble