我有以下簡單的程序可以從文本文件(num.txt)中讀取。該文本文件在每行中都有數字1 2 3 4 5。當我運行該程序時,它會打印5次兩次。有人可以告訴我爲什麼會發生這種情況,以及如何解決這個問題?在此先感謝fscanf讀取最後的整數兩次
int main(void)
{
int number;
FILE *file;
int i = 0;;
file = fopen("num.txt", "r");
while (!feof(file)){
fscanf(file, "%d", &number);
printf("%d\n", number);
}
return 0;
}
這裏是我的文本文件num.xtx
1
2
3
4
5
而這裏的節目輸出
1
2
3
4
5
5
有額外的5
'而(!FEOF(文件)){':: FEOF()是問題 – wildplasser
我建議你閱讀[這](事業http://stackoverflow.com/questions/5431941/同時,FEOF文件 - 是 - 總是錯的)? – niklasfi
當你看到最後5個時,fscanf返回的值是多少?我打賭它不是1. ;-) –