首页 > 解决方案 > 为什么 puts 函数会打印从文件中读取的最后一行并再一次存储在数组中?

问题描述

我正在学习 C 中的文件 I/O,我看了一个教程并看到了这段代码:

#include <stdio.h>
#include <stdlib.h>

int main(){

    FILE *inp;
    
    char singleLine[100];
    inp = fopen("text2.txt", "r");
    
    while(!feof(inp)){
        fgets(singleLine, 100, inp);
        puts(singleLine);
    }

    fclose(inp);

    return 0;
}

这是我为实践创建的文本文件:

text2.txt

Are you ok
Hi
How are you
I am fine

我了解大多数代码,但是当我自己实现代码时,文本文件的最后一行不断出现,如下所示:

Are you ok

Hi

How are you

I am fine

I am fine

而本教程中并非如此。请解释一下是什么问题,谢谢

标签: c

解决方案


推荐阅读