如何在不用每行读取两次的情况下用c ++读取文件

时间:2015-04-18 15:39:31

标签: c++

我在使用c ++读取文件时遇到问题。每行包含一个浮点数的文件如下

1.33
5.45
6.21
2.48
3.84
7.96
8.14
4.36
2.24
9.45

我的代码是读取和打印每行并打印两次。我该如何修复它?

    string line;
    fstream inputNumbersFile("input.txt");

    if (inputNumbersFile.is_open())
    {   
        while (!inputNumbersFile.eof())
        {
            getline(inputNumbersFile, line);
            cout << line << endl;
        }
    }

1 个答案:

答案 0 :(得分:4)

在循环条件中使用inputNumbersFile.eof()是一个坏主意。只需用

之类的东西替换这个循环
while (getline(inputNumbersFile, line))
    cout << line << endl;