首页 > 解决方案 > 尝试读取文件时出现分段错误

问题描述

我查看了如何使用 fgets 函数,因此我编写了以下代码:

#include <stdio.h>

void main(int argc, char** argv)
{
    if (argc == 2)
    {
       FILE* file = fopen(argv[1], "r");

       if (file != NULL)
       {
           char line[100];
           while (fgets(line, sizeof(line), file))
           {
               printf("%s", line);
           }
       }
    }
}

我编译程序:

gcc main.c

并运行它:

./a.out textdoc.txt

文件 textdoc.txt 有一些乱码(它不是空的):

ageagea gea g
geagae g g g g
eagae ge g ga a a fea
gea hr hr a faw

我注意到的是,当我到达 fgets() 代码行时,我遇到了分段错误。

谁能告诉我是什么问题?

标签: cgccdebianfopenfgets

解决方案


推荐阅读