当前位置:首页 » 存储配置 » c语言链表存储

c语言链表存储

发布时间: 2023-06-17 21:06:56

c语言中如何实现用文件保存一个动态的链表

随便说说
你可以
链表
的每一个结点,保存为一行.或者有一个特殊的符号来分割不同的结点,如果结点内有不同意义的数据,也可以用特殊的符号来分割,
这里要说明
因为c语言支持的只有流试文件
所以在文件存储链表的时候只能存储
单向链表

❷ 关于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语言中怎样用链表保存结构体数据(动态数据结构)

链表有多种形式,如:单向链表,双向链表,单向循环链表,双向循环链表。将链表结构定义为list_t,则该类型中一定(至少)存在一个指向下一节点的指针list_t
*next;除了这个指针,list_t
中可以包含其它类型的数据,包括结构体变量。比如:typedef
struct
{
struct
usr_struct
data;
list_t
*next;
}
list_t;

❹ 关于C语言中,链表的文件储存方式

思路1是可行的,但思路2大多情况下是不可行的,因为链表是动态申请内存空间的,并且地址(理论上是随机的)不确定,你用数据块来读写,这不就等于原先随机生产的指针地址都拿过来了?(如果释放了链表的内存,被其它给占用了该内存点,你的程序大多情况下会漰掉的)

思路2的可行情况:
1.原先申请的内存不能释放,并且还在一起(当然程序也不可以关闭),保存文件等于没啥用处
2.在读取文件后,重置一下指向指针的地址!...

热点内容
python3range 发布:2025-03-21 23:42:56 浏览:346
安卓国外手机在哪个平台买 发布:2025-03-21 23:39:40 浏览:116
androidx86卡 发布:2025-03-21 23:38:06 浏览:802
linux限制访问目录权限 发布:2025-03-21 23:35:19 浏览:414
海泰克如何使用密码 发布:2025-03-21 23:35:17 浏览:640
php连接加密 发布:2025-03-21 23:18:55 浏览:833
ftp上传和下载命令 发布:2025-03-21 22:59:45 浏览:85
压缩包如何在电脑解压 发布:2025-03-21 22:47:06 浏览:95
java气候 发布:2025-03-21 22:37:19 浏览:143
外文期刊数据库检索 发布:2025-03-21 22:37:05 浏览:10