当前位置:首页 » 编程语言 » c语言链表保存到文件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言链表保存到文件

发布时间: 2023-07-06 23:22:12

❶ 关于C语言中,链表数据的文件储存和提取。

当把链表已经确定的时候,就可以依次存入文件。

和平时链表的遍历一样,每读取一个节点内容就进行一次存入操作。

不过要注意几个部分的检查:

  1. 内存空间是否分配成功

  2. 是否成功存入到文件中

  3. 在工作完成之后,是否将以后不会用到的变量清空和删除。


按照问题要求的代码如下:

Consumer*read_list()

{

FILE*fp;

if((fp=fopen("CONSUMER.dat","rb"))==NULL)

{

printf("无法读取CONSUMER.dat ");

returnNULL;

}

intsign;

Consumer*s,*p,*head;


head=(Consumer*)malloc(SIZE_C);

if(head==NULL)

{

printf("读取失败!内存空间申请不足! ");

returnNULL;

}

fseek(fp,0,SEEK_END);

if(ftell(fp)==0)

{

returnNULL;

}

p=head;

p->next=NULL;

while(feof(fp))

{

s=(Consumer*)malloc(SIZE_C);

//fread(s,SIZE_C,1,fp);

fread(s,sizeof(char),SIZE_C,fp);

p->next=s;

p=s;

p->next=NULL;

}

fclose(fp);

returnhead;

}//读取文件到链表

intsave_consumer(Consumer*p)

{

FILE*fp;

Consumer*head;

head=p;//p为已经构建好的链表

//if((fp=fopen("CONSUMER.dat","ab+"))==NULL)

if((fp=fopen("CONSUMER.dat","wb"))==NULL)

{

printf("无法打开CONSUMER.dat! ");

return-1;

}

while(p!=NULL)

{

//fwrite(p,SIZE_C,1,fp);

fwrite(p,sizeof(char),SIZE_C,fp);

p=p->next;

}

fclose(fp);

return1;

}//储存链表到文件

❷ C语言中如何将一个链表保存为文件

第一步:创建文件 比如说 file *fp=fopen(……);
第二步:写一个循环,把链表的节点一个一个写进文件里。
第三部:记得关闭文件- -