eof 函数不起作用并导致无限循环

eof Function Didn't Work and Cause Infinite Loop

提问人:Levent Kaya 提问时间:4/24/2020 更新时间:4/24/2020 访问量:70

问:

我尝试通过文本文件获取输入。我可以获取文本文件中的所有输入,但 while 循环没有停止。它一遍又一遍地接管。这是代码块;

ifstream inFile;    

    inFile.open("infixData.txt", std::fstream::in | std::fstream::out | std::fstream::app);

    if(inFile.is_open()){
         while (!inFile.eof()){
        getline(inFile, inputInfix);
        getInfix(inputInfix);
        showInfix();
        }

    }
    inFile.close();  

我不明白为什么 eof() 函数不停止循环。我也尝试过 bad() 函数,它变得更糟。

C++ 文件 -IO EOF

评论

1赞 nanofarad 4/24/2020
“情况变得更糟”——它以什么方式变得更糟?请描述您看到的任何行为、错误消息等
4赞 Adrian Mole 4/24/2020
这回答了你的问题吗?为什么 iostream::eof 在循环条件(即 'while (!stream.eof())'))中被认为是错误的?

答: 暂无答案