c语言基于链表的文件存储与读取

今天写了一下如何将链表中的数据存储到文件中

head为链表的起始结点

写入文件

void filewirte(LinkList head)
{
LinkList fd;
FILE *p=fopen("student_grad.txt", "w");
if(p==NULL)
{
printf("没有东西");
getchar();
exit(1);
}
fd=head->next;
while(fd)
{
fprintf(p,"%s %s %s %.0lf %.0lf %.0lf\n",fd->number,fd->name,fd->xingbie,fd->yuwen,fd->yingyu,fd->ave);
fd=fd->next;
}
fflush(stdin);
fclose(p);
}

读取文件

void fileread(LinkList head)
{

FILE *p=fopen("student_grad.txt", "r");
if(p==NULL)
{
fclose(p);
fflush(stdin);
filewirte(head);
}
else
{
int end1=0;
LinkList fd1,fd;//fd存数据到fd1
fd1=head;
fd=(LinkList)malloc(sizeof(Node));
fd->next=NULL;
while(1)
{
fd=(LinkList)malloc(sizeof(Node));
fd->next=NULL;
end1=fscanf(p,"%s %s %s %lf %lf %lf",fd->number,fd->name,fd->xingbie,&fd->yuwen,&fd->yingyu,&fd->ave);
if(end1==EOF)
{
break;
}
fd1->next=fd;
fd1=fd1->next;
fd1->next=NULL;
}
}
fflush(stdin);
fclose(p);
}

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值