【C 语言】文件操作 ( 配置文件读写 | 业务逻辑 | 接口设计 )

2023-03-30 08:48:27 浏览数 (1)

文章目录

  • 一、配置文件读写 业务逻辑
  • 二、接口设计
    • 1、写文件接口
    • 2、读文件接口
    • 3、修改文件接口
    • 4、接口合并

一、配置文件读写 业务逻辑


开发一个系统 , 在命令行中实现如下功能 , 通过命令操作 ,

  • 写文件 : 输入 Key-Value 键值对 , 将键值对保存到文件中 ;
  • 读文件 : 输入 Key 键 信息 , 查询该 Key 键 对应的 Value 值 信息 ;
  • 修改文件 : 输入 Key-Value 键值对 , 将新的键值对更新到文件中 ;

二、接口设计


1、写文件接口

写文件接口 : 写文件时 , 需要一个文件名称 , Key-Value 键值对 字符串 ;

3

个参数值都不需要修改 , 使用 const 修饰

3

个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;

代码语言:javascript复制
int write_cfg(const char *filename, const char *key, const char *value)

上述

3

个函数形参 , 都作为输入 ;

2、读文件接口

读文件接口 : 度文件时 , 需要一个文件名称 , Key 键 字符串 , Value 值 需要当做返回值使用 , 这里使用二级指针 ;

3

个参数值中 , 文件名 和 Key 键 都不需要修改 , 使用 const 修饰这

2

个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;

指向 Value 值一级指针 的二级指针 , 需要修改 , Value 值 不能使用 const 修饰 ;

代码语言:javascript复制
int read_cfg(const char *filename, const char *key, char **value)

上述 const char *filenameconst char *key

2

个形参是输入 , char **value 形参作为输出 ;

3、修改文件接口

修改文件接口 : 修改文件时 , 需要一个文件名称 , Key-Value 键值对 字符串 ;

3

个参数值都不需要修改 , 使用 const 修饰

3

个参数 , const 修饰指针时 , 左数右指 , 这里在 * 左侧修饰 指针 , 将指针设置为常量 ;

代码语言:javascript复制
int update_cfg(const char *filename, const char *key, const char *value)

上述

3

个函数形参 , 都作为输入 ;

修改 文件 的前提是 , 调用者知道该文件中 已经保存了哪些文件 ;

4、接口合并

写文件 和 修改文件 这两个功能 可以进行合并 ;

输入 Key-Value 键值对时 , 查询该文件中 , 是否已经存在 Key 键值 , 如果不存在 , 则新增数据 ( 写文件 ) , 如果存在 则 更新数据 ( 修改文件 ) ;

0 人点赞