读完最后一行两次

时间:2015-05-15 14:09:24

标签: file stream

ifstream infile("score.txt", ios::in);
int score;
while(infile.good()){
    infile >> score;
    cout << score << endl;
}

我试图从文件中读取分数并打印出来。但最后一次得分总是被读两次。我还尝试了一些其他条件,例如while(!infile.eof()),但没有任何改变。我真的很困惑。

分数文件如下所示: 78 23 43 23 54

&#34; 54&#34;总是被读取和打印两次。

1 个答案:

答案 0 :(得分:0)

尝试这个......

ifstream infile("score.txt",ios::in);
int score;

infile >> score; // before loop read 1 time

while(infile.eof())
{
 infile >> score;
 cout << score << endl;
}