我使用fread()
函数,写入到自己定义的结构体指针,但是这样就报错了。
问题出现在我注释的地方。
typedef struct Student {
char *name;
} Student;
int main() {
Student stu = {12, "Danny"};
FILE *out;
if ((out = fopen("out.dat", "w")) == NULL) {
printf("ERROR\n");
return 0;
}
fwrite(&stu, sizeof(Student), 1, out);
fclose(out);
FILE *in;
if((in = fopen("out.dat", "r")) == NULL) {
printf("ERROR\n");
return 0;
}
Student *stu2;
fread(stu2, sizeof(Student), 1, in); // 此处出现问题
printf("%s", stu2->name);
return 0;
}
一个野指针都没分配内存怎么写入文本内容