我正在閱讀一個文本文件,使用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++。 –