我的循环没有完成,如何在文件到达文件末尾时关闭它

时间:2018-04-25 17:01:13

标签: c++ fstream

// entrada是我打开的fstream

if (entrada.is_open())
{
    while (!entrada.eof())
    {
        char palabra[1024];
        entrada >> palabra;
        if(entrada.eof())break;
        cout << palabra << endl;

    }

entrada.close();
}

程序显示文本并且没有完成while的循环,没有达到.eof

1 个答案:

答案 0 :(得分:1)

将循环更改为:

char palabra[1024];
while (entrada >> palabra )
{
    cout << palabra << endl;
}

请参阅Why is iostream::eof inside a loop condition considered wrong?