问题描述
- c语言如何把链表数据写入文件?
-
在写一个通讯录管理系统,然后要把联系人的信息结构体放到链表中,然后将链表里的信息写入文件中,下次打开时还能从该文件读出数据。 链表头指针TEL,结构体中有name,tel,style,mail 四项,存入“telephone.txt"中。
我是这样写的
/*退出程序时将数据写回telephone.txt进行更新*/
void ReadBack()
{
FILE *TEL = fopen("telephone.txt","wt+");
ID *te = id->next;while (te != NULL) { fwrite(id,sizeof(ID),1,TEL); te = te->next; } fclose(TEL);
}
结果文件中是一串乱字 是 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?f请给出代码,本人初学,多谢!
解决方案
fwrite 中,每次写的都是id,应该是fwrite(te,sizeof(ID),1,TEL);
另外结构体中name、tel、style、mail都应该是一个buf,这样才会将数据写进去
例如 char name[32];
时间: 2024-08-04 02:09:22