这里是我的代码 文件的名称filewrite.cFREAD错误 - 分段故障
#include<stdio.h>
#include <stdlib.h>
void main()
{
int *p;
*p = 5;
FILE *fp1 = fopen("sample.txt","w");
fwrite(&p,sizeof(int),1,fp1);
fclose(fp1);
printf("\n Value of p written into the file is :%d \n",*p);
int *q;
FILE *fp2 = fopen("sample.txt","r");
fread(&q,sizeof(int),1,fp2);
fclose(fp2);
printf("\n Value of q read from the file is :%d \n",*q);
}
输出所看到的终端在Linux上:
$>gcc -o filewrite.o filewrite.c
$>filewrite.o
$>Segmentation fault (core dumped)
我能看到文件sample.txt
写出来。但无法理解为什么有一个核心转储。
'p'和'q'不应该是指针。将它改为'int p = 5;'和'int q;'。 –