重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站是一家集网站建设,南岳企业网站建设,南岳品牌网站建设,网站定制,南岳网站建设报价,网络营销,网络优化,南岳网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。不懂C语言如何实现简单电子通讯录?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。
这两天学完系统调用和标准IO,之前的通讯录可以进行一些改进,将数据保存到文件中(图我这里就不发了)。
原理:每次启动程序时先从预设文件中以只读的形式读取保存的通讯录信息,然后将读取到的信息导入到结构体中;每次执行退出时,先将预设文件以更新方式打开,并将文件中之前保存的信息清空,然后将结构体的数据保存到文件中去,再退出程序。
还有在文件写入时和读取时,先写入(读取)保存数据的总个数,让程序知道有多少数据要写入(读取),然后保存每个数据的字节数(程序会根据每个数据的字节数来进行保存),最后再保存数据。
与之前版本相比,改动的只有主函数中加入了读取文件和写入数据这两个步骤,还有的变动就是结构体从一个变成了两个,将指针从原来一个结构体中分离出来,方便数据从文件中的导入导出。下面是代码(免得你们往前翻,我把之前的代码都修改了考过来):
头文件 head.h 唯一修改的就是结构体
#ifndef HEAD_H_ #define HEAD_H_ #include#include #include #include // sleep函数头文件 #include #include #include #define uint unsigned int #define OK 0 #define ERROR -1 #define MALLOC_ERROR -2 #define N 20 typedef int ElementType; typedef struct data { ElementType ID; // ID号 char Name [N]; // 姓名 char Mobile_Phone [N]; // 手机号码 char Home_Address [N]; // 家庭住址 char Company_Tell [N]; // 公司电话 }Data; typedef struct _Node { Data data; struct _Node* next; // 节点指针 }Node; typedef Node* PNode; // 重命名节点指针类型 //显示操作界面 int Interface_Display (); //添加好友信息 (尾插法) int Add_Friend (PNode head, ElementType num); //显示所有好友信息 int Friend_Information (PNode head); //查找好友 int Search_Friend (PNode head, char* Name); //删除好友 void Delete_Friend (PNode head, char* Name); #endif