【发布时间】:2026-01-24 06:25:01
【问题描述】:
所以一开始我创建了我的结构:
结构兴趣 *p =malloc(256);
并在结构内部分配变量:
p -> num = 1;
p -> size = 2;
p -> name = "jacky";
打开输出文件后,我将这个结构体写入其中:
fwrite(&p,sizeof(p), 1, output_file);
这是我的第一个问题,如果我想写一个struct p,把它写成“&p”对吗?
假设我已经成功编写了它,我想知道从我的 output_file 中读取结构。 然后我继续:
...#open the outputfile for reading
结构兴趣 *buff = malloc(256);
fread(&buff, sizeof(buff),1,output_file);
然后当我尝试打印 buff 的 num 或 size 时出现分段错误..
什么 是正确的做法吗?
我想打印它的原因是因为我想检查我是否真的把那个结构写到了输出文件中。
谢谢。
【问题讨论】:
-
你能发布一个最小的程序来重现你的错误,而不仅仅是几行代码吗?