C语言怎么把文件的内容读到链表里面?

C语言怎么把文件的内容读到链表里面?,第1张

struct Bookinfo\x0d\x0a{\x0d\x0achar num[20]//书号\x0d\x0a char name[10] //书名\x0d\x0a int jinjia //进价\x0d\x0a int shoujia //售价\x0d\x0a int shuliang//侍核培库存数量\x0d\x0a int shouchu //售出\x0d\x0a}\x0d\x0atypedef struct Node_book* pNode_book\x0d\x0astruct Node_book\x0d\x0a{\x0d\x0astruct Bookinfo bookinfo\x0d\x0apNode_book next\x0d\x0a}\x0d\x0a只存节点的数据域,以二进制文件存放:\x0d\x0aint save(struct pNode_book head)\x0d\x0a{\x0d\x0aif(!head) return 0\x0d\x0aFILE *fp=fopen("info.data","wb")\x0d\x0aint i=0\x0d\x0awhile(head)\x0d\x0a{\x0d\x0afwrite(&head->bookinfo,sizeof(Bookinfo),1,fp)\x0d\x0ai++\x0d\x0ahead=head->next\x0d\x0a}\x0d\x0afclose(fp)\x0d\x0a\x0d\x0areturn i\x0d\x0a} \x0d\x0a\x0d\x0aint readFromFile(struct pNode_book *head)\x0d\x0a{\x0d\x0aFILE *fp=fopen("info.data","rb")\x0d\x0aif(!fp)\x0d\x0a{\x0d\x0aprintf("Can not open the file!\n")\x0d\x0areturn 0\x0d\x0a}\x0d\x0a\x0d\x0astruct pNode_book pCur=NULL\x0d\x0afseek(fp,0,SEEK_END)\x0d\x0along end=ftell(fp)\x0d\x0afseek(fp,0,SEEK_SET)\x0d\x0aint i=0\x0d\x0aif(ftell(fp)!=end)\x0d\x0a{\x0d\x0apNode_book tmpNode=(pNode_book)malloc(sizeof(Node_book))\x0d\x0atmpNode->next=NULL\x0d\x0a\x0d\x0afread(&tmpNode->bookinfo,sizeof(Bookinfo),1,fp)\x0d\x0ai++\x0d\x0a\x0d\x0a*head=tmpNode\x0d\x0apCur=*head\x0d\x0a}\x0d\x0aelse\x0d\x0a{\x0d\x0aprintf("No record!\n")\x0d\x0areturn 0\x0d\x0a}\x0d\x0a\x0d\x0awhile(ftell(fp)!=end)\x0d\x0a{\x0d\x0apNode_book tmpNode=(pNode_book)malloc(sizeof(Node_book))\x0d\x0atmpNode->next=NULL\x0d\x0a\x0d\x0afread(&tmpNode->bookinfo,sizeof(Bookinfo),1,fp)\x0d\x0ai++\x0d\x0a\x0d\x0apCur->next=tmpNode\x0d\x0apCur=pCur->next\x0d\x0a}\x0d\x0a\x0d\x0afclose(fp)\x0d\x0areturn i\x0d\x0a} \x0d\x0a\x0d\x0a//在vc++下编译。如果在TC下,可能还要做些小修改。\x0d\x0a//我在记事本上写的,老唯你氏镇调试下吧!\x0d\x0a//有问题Hi我!

依次是编号

名字

数据是么?你需要先建立一个creat.txt文件,然后对文件进行 *** 作老昌~!

头文件用#include<stdio.h>

#include<stdlib.h>这两个,然后定义个文件指针

FILE

*fp

用fopen("creat.txt","r")进行写入,写入用fscanf(fp,"%f%s%f",&id,&name,&grade) *** 作完成关闭文件fclose(fp)这样就行了型歼~!在链表里插入这些东西就可以进行写入了。。具体还是靠自己写,要考试了,具体程侍租扒序没有时间给你写。。

只需要将文件标卜并袭示为二进制即可。\x0d\x0astruct student stu[256]\x0d\x0a//将stu赋值...\x0d\x0a\x0d\x0aFILE * fd=fopen("c:\\test.bin","wb")//打型兄开蔽清\x0d\x0aint i\x0d\x0afor(i=0i 回答于 2022-11-16


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12314055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存