C 如何从文件中把链表提取出来

[复制链接]
查看11 | 回复1 | 2011-4-19 03:38:57 | 显示全部楼层 |阅读模式
Int b[4];/*f1.dat里有4个数*/
ifstream in(\"f1.dat\",ios::binary);
n.read((char*)
in.close();
我把存在f1.dat的一个链表的数据用b这个数组提取出来,但是接下来怎么把它重组成一个链表呢?比如文件里有4个数,那么我可以用下面代码来使它输出
int j=4;
for(int i=0;ij,i)
{
coutb;
}
但是我不能每次都去调 j 的值来使值符合输出条件啊,如果文件里只有3个数,而 j=4 那么我输出的最后一个数就会是一个随机数,这该怎么解决啊,或者大家有更好的提取代码可以打出来让我看看。
回复

使用道具 举报

千问 | 2011-4-19 03:38:57 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">方法一:你在将链表写入文件时,先将表长写进去,换行;再将链表写入。这样在读文件时先将表长读到一个变量n中,然后继续读文件,将链表读出,循环控制变量就是变量n了。
方法二:你在定义链表时多给链表分配一个空间,用来存储表长,比如b[5],那么就约定b[0]存储表长,不过不建议你这样。最好你的链表是结构体类型,在结构体中定义一个变量存储表长。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行