“ while(inFile)” vs“ while(!inFile.eof())” [ifstream inFile;]

时间:2019-01-18 10:33:22

标签: c++ fstream ifstream

我正在阅读C ++教程,该教程显示了如何从文本文件读取内容。在本教程中,提到“ while(file)”和“ while(!file.eof())”是相同的,其中文件是ifstream类型。但是由于某种原因,我得到了不同的结果(我在这篇文章中添加了结果)。一些帮助将不胜感激

int main()
{
    string fileName = "read_text.txt";
    ifstream inFile;
    inFile.open(fileName);

    if(inFile.is_open())
    {
        string line;
        while(inFile)
        {
            getline(inFile, line);
            cout<<line<<endl;
        }

        cout<<endl;
        inFile.clear();
        inFile.seekg(ios::beg);

        while(!inFile.eof())
        {
            getline(inFile, line);
            cout<<line<<endl;
        }
        inFile.close();
    }
    else cout<<"The file failed to open";
    return 0;
}

Images of the text file and the output

0 个答案:

没有答案