尝试读取文件时出现分段错误

时间:2019-11-02 14:23:13

标签: c gcc debian fopen fgets

我一直在研究如何使用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()行时,出现了分段错误。

谁能告诉我这是什么问题?

0 个答案:

没有答案