文章目录
一、配置文件读写 业务逻辑
二、接口设计
1、写文件接口
2、读文件接口
3、修改文件接口
4、接口合并
一、配置文件读写 业务逻辑
开发一个系统 , 在命令行中实现如下功能 , 通过命令操作 ,
写文件 : 输入 Key-Value 键值对 , 将键值对保存到文件中 ;
读文件 : 输入 Key 键 信息 , 查询该 Key 键 对应的 Value 值 信息 ;
修改文件 : 输入 Key-Value 键值对 , 将新的键值对更新到文件中 ;
二、接口设计
1、写文件接口
写文件接口 : 写文件时 , 需要一个文件名称 , Key-Value 键值对 字符串 ;
这 3 33 个参数值都不需要修改 , 使用 const 修饰 3 33 个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;
int write_cfg(const char *filename, const char *key, const char *value)
上述 3 33 个函数形参 , 都作为输入 ;
2、读文件接口
读文件接口 : 度文件时 , 需要一个文件名称 , Key 键 字符串 , Value 值 需要当做返回值使用 , 这里使用二级指针 ;
这 3 33 个参数值中 , 文件名 和 Key 键 都不需要修改 , 使用 const 修饰这 2 22 个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;
指向 Value 值一级指针 的二级指针 , 需要修改 , Value 值 不能使用 const 修饰 ;
int read_cfg(const char *filename, const char *key, char **value)
上述 const char *filename 和 const char *key 2 22 个形参是输入 , char **value 形参作为输出 ;
3、修改文件接口
修改文件接口 : 修改文件时 , 需要一个文件名称 , Key-Value 键值对 字符串 ;
这 3 33 个参数值都不需要修改 , 使用 const 修饰 3 33 个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;
上述 3 33 个函数形参 , 都作为输入 ;
修改 文件 的前提是 , 调用者知道该文件中 已经保存了哪些文件 ;
4、接口合并
写文件 和 修改文件 这两个功能 可以进行合并 ;
输入 Key-Value 键值对时 , 查询该文件中 , 是否已经存在 Key 键值 , 如果不存在 , 则新增数据 ( 写文件 ) , 如果存在 则 更新数据 ( 修改文件 ) ;