我正在阅读一个文本文件,使用while(!feof)
循环迭代, 迭代,但是每当我使用这个条件时循环会迭代一个额外的时间。优雅的方式来确定EOF?
我解决了这个问题,这个“修修补补”代码
while (stop == FALSE)
{
...
terminator = fgetc(input);
if (terminator == EOF)
stop = TRUE;
else
fseek(input, -1, SEEK_CUR);
}
但它看起来和感觉非常糟糕。
可能的重复[为什么iostream :: eof里面的循环条件被认为是错误的?](http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-错误) – 2013-08-30 14:15:13
可能是第20个关于CIO在过去几天中的问题,可能我们需要一个关于该社区维基页面的文章 – jev
@ H2CO3:从技术上讲,这不是iostream问题的重复,因为这是特别的C,另一个是C++。 –