前言
在前面曾用静态、动态顺序表两种方式实现通讯录,但每次运行程序我们都得重新输入,之前输入的成员信息并不会保存,而现实中,通讯录里的信息创建后是永久保存的,除非你删除它,今天我们就来模拟一下如何将数据存储在文件中,当下一次运行时加载一下即可,这种做法更贴合实际。
程序中会用到与文件操作相关的函数,提前介绍一下:
- fopen 它的函数原型为:FILEfopen(const char filename,const char *mode) ,filename:创建文件的名字;mode:允许进入文件的类型;简单来说这个文件的作用就是打开一个文件流;与fclose:关闭文件流配套使用.
- perror: 它的函数原型为:void perror(const char * string) ,这是一种报告文件错误的函数;后面包括一个分号和一个空格,然后打印出一条用于解释errno当前错误代码的信息;
- fwrite: 它的函数原型为:size_t fwrite(const void buffer,size_t size,size_t count,FILEstream) ,buffer:数据写入的体格缓冲区;
通讯录简要功能:
- 初始化通讯录
- 添加联系人
- 查找联系人
- 删除联系人
- 修改联系人
- 按姓名排序
- 清空联系人
- 联系人列表
- 检查容量
- 加载文件
- 保存文件
- 销毁通讯录
- 退出
参考代码:
Contact.h:
1 | /*********************************************************** |
Contact.c:
1 |
|
test.c:
1 |
|
结语:
最初的自己是个编程菜鸟,然而通过努力的学习,现在也能逐渐的自己写小程序了,相信这就是一种进步,暂不希望自己能有多强大。只要每一步走的充实,我相信一定会有好的回报,且行且努力!
