模拟实现通讯录(文件存储)
题目要求:
实现一个通讯录,通讯录可以实现文件存储每个人的信息,包括:姓名、性别、年龄、电话、住址
实现功能:
1.添加联系人信息 2.删除指定联系人信息
3.查找指定联系人信息 4.修改指定联系人信息
5.显示所有联系人信息 6.清空所有联系人
7.以名字排序所有联系人
分析如下:
方法同静态方法和动态方法相似,我们同样需要建立三个文件,一个放头文件"address.h",两个分别写通讯录函数实现代码"address.c"和测试代码"test.c",在"address.h"中,主要写入所需的头文件、函数声明、结构体、宏定义等;在"address.c"中要写入菜单、所需函数的实现代码等;最后,在"test.c"中写main函数对代码进行测试。
下面是实现的代码中所涉及到的函数,均包含在头文件<stdlib.h>中。
1.fopen函数
函数声明:
FILE * fopen(const char * path,const char * mode);
参数说明:
①path是所要打开的文件名,mode是以何种形式打开(mode有多种形式);
②打开文件后要有与之对应的 fclose(const char *path)函数关闭文件;
返回值:
文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在
errno中。
注意:
一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以
一般在fopen()后作错误判断及处理。
2.perror函数
函数声明:
perror(s);