我知道fgets读取直到EOF或换行符.
我写了一个示例代码来读取文件中的行,我观察到fgets的执行次数超过了所需的次数.这是一个非常简单的文件,只有两个空行,即.我按了一次输入并保存了文件.
以下是代码:
fp = fopen("sample.txt","r");
while (!feof(fp)) {
fgets(line,150,fp);
i++;
printf("%s",line);
}
printf("%d",i);
Run Code Online (Sandbox Code Playgroud)
为什么while循环执行三次而不是2次,因为文件中只有两个空行?