最佳答案
下面的 C + + 代码使用一个 Ifstream对象从一个文本文件(每行有一个数字)读取整数,直到到达 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;
}
Input.txt :
10
20
30
产出 强 > :
10
20
30
30
注意 : 我跳过了所有错误检查代码,以保持代码片段较小。在 Windows (Visual C + +)、 cygwin (gcc)和 Linux (gcc)上可以看到上述行为。