• 全部
  • 问答

C语言链表读取问题

风隐若现 2012-06-03 02:49:26
如何把文件中的链表读取出来

typedef struct m
{
int a;
char b[10];
struct m *next;
}M;
M *p,*head,*t;
读出来之后
建立head是头的链表
文件是"D:\aaa"

存入时是
p=head;
while(p !=NULL)
{
fwrite(p,len,1,fp);
p = p->next
}
大侠帮帮忙 。。。。。。。
谢谢啦。。。。。。。。
...全文
70 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wZi 2012-06-03
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

这不行,第一次写入文件时 结构中的地址是程序地址空间的地址,
再读出来地址空间都变了,指针都已经无效

方法:不要把指针写入文件,只写数据,读出来时再分配空间,重建链表

++
[/Quote]

我看成了艹

。。。

回复
W170532934 2012-06-03
[Quote=引用 1 楼 的回复:]

这不行,第一次写入文件时 结构中的地址是程序地址空间的地址,
再读出来地址空间都变了,指针都已经无效

方法:不要把指针写入文件,只写数据,读出来时再分配空间,重建链表
[/Quote]
++
回复
风隐若现 2012-06-03
是程序运行完后再重新打开
读入已存的链表
回复
画地为牢 2012-06-03
这不行,第一次写入文件时 结构中的地址是程序地址空间的地址,
再读出来地址空间都变了,指针都已经无效

方法:不要把指针写入文件,只写数据,读出来时再分配空间,重建链表
回复
发帖
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2012-06-03 02:49
社区公告
暂无公告