分段故障核心转储错误

时间:2016-04-16 06:22:34

标签: c file segmentation-fault g++ coredump

这是我的C程序,我正在使用g ++编译器。 编译后,当我运行代码时,它会产生一个分段错误(核心转储)错误:

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

int main(){

  FILE *fp;

  fopen("sample.txt", "w+");

  fprintf(fp, "%s %s %s %d", "We", "are", "in", 2016 );

  fclose(fp);

  return 0;
}

请指导。

2 个答案:

答案 0 :(得分:2)

刚刚发现: 只需将文件打开功能分配给我的文件描述符。

fp = fopen("sample.txt", "w+");

答案 1 :(得分:0)

fprintf打印到文件指针fp给出的文件。在这种情况下,fp仅被声明并且从未赋值,因此为null。当fprintf使用空指针时,它会导致seg错误。你应该做fp = fopen(...)所以指针不是null。