中易网

我已经创建了一个链表,首地址是head.请问我如何把链表的内容输出和读入(文件)啊?

答案:2  悬赏:50  
解决时间 2021-04-28 07:00
  • 提问者网友:梧桐不渝
  • 2021-04-27 11:00
if((fp=fopen("a.txt","w"))==Null)
{
printf("can't open this file!");
exit(0);
}
do
{
if(fwrite(p,LEN,1,fp)!=1)
printf("error!");
p=p->next;
}while(p!=Null);
fclose(fp);
我这么写程序最后被错误终止....求大大帮忙!
前面定义了#define Null 0
最佳答案
  • 二级知识专家网友:安稳不如野
  • 2021-04-27 12:28
1.感觉可能是你的执行顺序出了错。do while应该改成while do。第一次运行的时候,如果p是空你的程序一定崩溃。
2.另外,如果你的p初始化只是简单的分配空间(比如用malloc)而没有给出后继地址,那么运行到p->next就会出错。
3.既然你说的是错误终止而非编译图通过,而你的文件读取没有问题,那么可以肯定是你的链表读取出了问题,产生了非法地址的读取。
全部回答
  • 1楼网友:你好陌生人
  • 2021-04-27 12:50
你读入数据后,总要存放在某个空间吧?如果你存放在数组里,表头就是首地址
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息