eof(文件结束)函数在C ++循环中

时间:2014-09-22 20:14:52

标签: c++ eof

我正在读一本书" C ++科学计算指南"并且书中有一个代码不会按预期运行。

以下是本书的清单如下:

#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;

int main()
{
int x[6], y[6];
ifstream read_file("Output.dat");
assert(read_file.is_open());

int i = 0;
while (!read_file.eof())
{

    read_file >> x[i] >> y[i];
    cout <<x[i]<<" "<< y[i]<<"\n";
    i++;

}
read_file.close();
return 0;
}

这是我的&#34; output.dat&#34;:

0 0
1 0
0 1
0 0
1 0
0 1

当我运行程序时,我得到:

0 0
1 0
0 1
0 0
1 0
0 1
4195984 807

所以我想知道为什么它会输出最后一行中不在我的数据文件中的垃圾数据。

0 个答案:

没有答案