我理解fgets函数会读取到EOF或者换行符。
我写了一个简单的代码来从文件中读取行,但是我观察到fgets执行的次数比期望的多。这个文件很简单,只有两个空行,即我按下一次回车并保存了文件。
以下是代码:
fp = fopen("sample.txt","r");
while (!feof(fp)) {
fgets(line,150,fp);
i++;
printf("%s",line);
}
printf("%d",i);
为什么 while 循环会执行三次,而文件中只有两个空行?
od -c sample.txt
。 - Marian