如何在c中打印文本文件的内容

how to print the content of a text file in c

我正在尝试在 c 的终端中打印名为 text.txt 的文本文件的内容我有以下代码,但它不起作用:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(){
 char str[255];
 FILE *fp;
 fp = fopen("text.txt","r");
 while (fgets(str,255,fp)!=NULL){
    printf("%s",str);
    fclose(fp);
 };
}

我找不到解决方法请帮忙

首先,您要在循环内关闭文件。 fclose 应该位于程序的末尾。其次,fopen() 可能会失败(例如,您没有读取文件的权限)。所以,别忘了处理它。


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

int main(){
    const int sz = 255;

    char str[sz];
    FILE *fp;
    fp = fopen("input.txt","r");
    if(fp == NULL){
        // opening the file failed ... handle it
    }
    while (fgets(str,sz,fp)!=NULL){
        printf("%s",str);
    };

    fclose(fp);
}

这是另一种类似的方式

  if (fp!=NULL)
  {
    // file open succeded. do sth with it.
    fclose (fp);
  }

希望这对您有所帮助并继续编码!