从文本文件中读取,直到EOF重复最后一行以下内容C+代码使用如果流对象从文本文件(每一行有一个数字)中读取整数,直到它命中。EOF..为什么它要读取最后一行的整数两次?怎么解决这个问题?代码:#include <iostream>#include <fstream>using namespace std;int main(){
ifstream iFile("input.txt"); // input.txt has integers, one per line
while (!iFile.eof())
{
int x;
iFile >> x;
cerr << x << endl;
}
return 0;}输入txt:10 20 30输出量:10 20 30 30注:我跳过了所有错误检查代码,以保持代码片段的小。在Windows(Visual C+)、cygwin(GCC)和Linux(GCC)上都可以看到上述行为。
3 回答
慕仙森
TA贡献1827条经验 获得超7个赞
抓10 抓20 抓取30 抓斗EOF
while (true) { int x; iFile >> x; if( iFile.eof() ) break; cerr << x << endl;}
POPMUISE
TA贡献1765条经验 获得超5个赞
ifstream iFile("input.txt"); // input.txt has integers, one per lineint x;while (iFile >> x) { cerr << x << endl;}
慕码人2483693
TA贡献1860条经验 获得超9个赞
#include <iterator>#include <algorithm>// ... copy(istream_iterator<int>(iFile), istream_iterator<int>(), ostream_iterator<int>(cerr, "\n"));
- 3 回答
- 0 关注
- 674 浏览
添加回答
举报
0/150
提交
取消