古詩詞大全網 - 成語查詢 - c語言執行fgets時,如何判斷是否到了文件末尾?

c語言執行fgets時,如何判斷是否到了文件末尾?

如果文件末尾有壹個空行,註意特別註意用fgets進行讀,比如文件:

aaa 234 444 bbb

123 kkk 9 00 00000 0000

ccc 34

如果最後沒有空行,即沒有\n,讀到ccc 34這行時,fgets遇到了EOF,結束,str="ccc 34\0"; 如果最後有空行;讀到ccc 34這行時,fgets遇到了new line,str="ccc 34\n\0",此時文件未返回EOF,再次fgets時,遇到EOF,fgets返回NULL,str的內容沒有變,因此用fgets讀時判斷是否該結束最好如此:

while(fgets(...)) {

...

}

而不要用

while(!feof()) {

fgets();

...

}