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我!

while(!feof(fp2))

{

fread(p2,LEN,1,fp2)

printf("%s\n%s\拦瞎n%f\n%f\n%d\n%s\n\n",p2->jiaori,p2->ruri,p2->jiaoe,p2->jiaoye,p2->count,p2->addr)

p2++// p2=p2->纯慧next

}···

把 p2++这句去掉就对了,p2++将使p2指向一个不合法的地址。这个例子里只是将文件中的内容读出来显示,所以每次读入p2中输出就可以了,如果是需要将整个文件内容都读到内存,需要每读简裤空一次都要为其分配一个空间。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存