小编cod*_*ara的帖子

fgets在文件中逐行读取

我知道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次,因为文件中只有两个空行?

c file-io fgets

8
推荐指数
1
解决办法
6万
查看次数

标签 统计

c ×1

fgets ×1

file-io ×1