c语言如何把链表数据写入文件?

问题描述

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

c语言如何把链表数据写入文件?的相关文章

把数组内的数据写入文件流 和读取文件流啊

问题描述 publicclassData{//创建一个顾客对象的动态数组publicArrayListcustoms=newArrayList();//会员//创建一个商品对象的动态数组publicArrayListgoods=newArrayList();//商品数据}数组内定义有Customs和goos商品的数据怎么把把数组内的数据写入文件流和读取文件流啊 解决方案 解决方案二:序列号成二进制文件吧可以参考这个解决方案三:上面写错了,是序列化,不是序列号解决方案四:可以定义一个文件,publ

go语言实现将重要数据写入图片中_Golang

原理:将数据的二进制形式写入图像红色通道数据二进制的低位 只支持png格式的输出 写入数据 go run shadow.go -in="c.jpg" -data="hide me" -out="out.png" 读取数据 go run shadow.go -in="out.png" 复制代码 代码如下: package main import (     "errors"     "flag&qu

android-分时将GPS数据写入到文件中

问题描述 分时将GPS数据写入到文件中 private void writeToFile(String data) { try { OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("DataWriteTry.txt", Context.MODE_PRIVATE)); outputStream.write(data); outputStreamWriter.close(); } 使

php读取二进制流(C语言结构体struct数据文件)的深入解析_php技巧

尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] )   //Pack given arguments into binary string according to format.  array unp

python 写入文件

使用Python 如何把数据写入文件呢?或者说如何把数据持久化呢? 方式一:使用file   Python代码   #!/usr/bin/python      poem='abc\n'   f=file('poem.txt','w')   f.write(poem)   f.close()    注意:file()的第二个参数,"w"表示以"写"的方式打开文件     方式二:使用open   Python代码   >>> a=['a\n','1

求助c#16进制写入文件问题

问题描述 本来要对一个2进制文件进行改写.计划采用如下方法.byte[]buffer=newbyte[139]FileStream.Seek(offset,SeekOrigin.Begin);//文件流定位FileStream.Write(buffer,0,140);//将buffer数组内数据写入文件现在头痛的是buffer赋值的问题..这个buffer为16进制的类似下面这样共有100多个字节.2E00310032003500252003100380036002F00730065006200

还在学习阶段-C语言动态链表写入文件

问题描述 C语言动态链表写入文件 struct Txl { char name[20]; long long tel; struct Txl *next; }; int n; struct Txl creat(void) { struct Txl *p1,*p2,*head; n=0; p1=p2=(struct Txl)malloc(LEN); memset(p1,0,sizeof(LEN)); memset(p2,0,sizeof(LEN)); printf("姓名t"); sca

c语言存储链表数据问题

问题描述 c语言存储链表数据问题 给你一个链表的头指针pHead,将一个结构体中的数据,比如: struct{ int num; char name[20]; char sex[10]; } 存储到磁盘中,然后下次启动程序之后又可以读取出来. 初次学习c语言,麻烦给出代码,谢谢 解决方案 代码就不写了,给你思路,其实很简单啊,首先是建立头结点把数据存储好,然后写入文件中,在下一次程序启动后,你在写一个加载函数,作用就是打开先前存储的文件,然后从里面读数据,每读依次,新建一个节点,然后插入到头结点

wince下,使用C# ,把数据写入txt文件中

问题描述 wince下,使用C# ,把数据写入txt文件中 各位高手大家好,我在wince下,使用C# ,把数据写入txt文件中,所有的代码都执行完成,也没有发生任何错误,但是我打开txt里面是空白的,没有任何数据,不知其解,望高手不吝指教,谢谢.写入txt的代码如下: FileStream fs = null; StreamWriter sw = null; try { fs = new FileStream(fileName, FileMode.Append, FileAccess.Writ