如何阅读我用C编写的文本文件



我是C的新手,我只是想读取我在C中创建的一个简单的文本文件。我通过点击new->empty file->将其保存到我想要的位置,然后添加文件扩展名(.txt)来创建这个文件。文本文件包含一个示例数独板,完整的文件名为sudokuchar.txt。

我必须从文件中读取并打印的代码是:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fpointer = fopen("sudokuchar.txt", "r");
    char input[100];
    while(fgets(input,100,fpointer))
    {
        printf("%s",input);
    }
    fclose(fpointer);
}

因此,当我编译时,程序不打印任何内容,并返回-1。我想我试图从中读取的文件出了问题??如果有人能帮忙,我们将不胜感激。

始终检查fopen和其他标准库调用的返回值。很可能你的文件不存在。您可以使用errno生成一个用户友好的错误消息,只需确保包含errno.h。总体而言,您的代码应该可以工作,但您需要检查事物的返回值,因为如果fopen找不到文件,它将返回NULL。

FILE *fpointer = fopen("sudokuchar.txt", "r");
if(fpointer == NULL) {
    fprintf(stderr, "Error: [Errno %d]: %sn", 
            errno, strerror(errno));
    return 1;
}

建议检查返回的文件指针。如果文件指针返回0或NULL,则文件指针无法指向您提供的文件名。你也可以使用这个

File *fp = fopen(file name with full path (i.e. /home/chex/read.txt),"r")

检查man fopenFILE*fopen(const char*路径,const char*mode);

相关内容

  • 没有找到相关文章

最新更新