【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )
【摘要】
文章目录
一、写出或更新配置文件二、读取配置文件
一、写出或更新配置文件
写出或更新配置文件 :
首先 , 使用 字符数组 存储 键值对 信息 ;
//...
一、写出或更新配置文件
写出或更新配置文件 :
- 首先 , 使用 字符数组 存储 键值对 信息 ;
// 写出 或 更新 的配置项
// 数组声明会后 , 注意先进行初始化为 0 操作 , 否则其中的数据可能是随机的
char key[256] = {0}; // Key 键
char value[256] = {0}; // Value 值
- 1
- 2
- 3
- 4
- 然后 , 通过
scanf
获取 键值对 信息 ;
// 提示输入 Key 键
printf("\nPlease Input Key : ");
// 将 Key 存储到 name 字符串数组中
scanf("%s", key);
// 提示输入 Value 值
printf("\nPlease Input Value : ");
// 将 Value 值 存储到 value 字符串数组中
scanf("%s", value);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 最后 , 调用
write_or_update_config_file
函数 , 传入 文件名 , 要 写出 或 更新的 键值对信息 ;
// 向 D:/File/config.ini 写出或更新 键值对 信息
ret = write_or_update_config_file(CONFIG_FILE_NAME /*in*/, key /*in*/, value/*in*/,strlen(value) /*in*/);
- 1
- 2
代码示例 :
/**
* @brief write_update_config
* 启动 写出 / 更新 配置项 模块 , 执行 写出 / 更新 配置项操作
* @return
*/
int write_update_config()
{
// 局部变量 返回值 , 用于表示程序状态
int ret = 0;
// 写出 或 更新 的配置项
// 数组声明会后 , 注意先进行初始化为 0 操作 , 否则其中的数据可能是随机的
char key[256] = {0}; // Key 键
char value[256] = {0}; // Value 值
// 提示输入 Key 键
printf("\nPlease Input Key : ");
// 将 Key 存储到 name 字符串数组中
scanf("%s", key);
// 提示输入 Value 值
printf("\nPlease Input Value : ");
// 将 Value 值 存储到 value 字符串数组中
scanf("%s", value);
// 向 D:/File/config.ini 写出或更新 键值对 信息
ret = write_or_update_config_file(CONFIG_FILE_NAME /*in*/, key /*in*/, value/*in*/,strlen(value) /*in*/);
// 判定执行中是否出错
if (ret != 0)
{
printf("error : write_or_update_config : %d \n", ret);
return ret;
}
// 打印成功插入的键值对
printf("Input :%s = %s Success !\n", key , value);
return ret;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
二、读取配置文件
读取配置文件 :
- 首先 , 使用 字符数组 存储 键值对 信息 , 声明相关字符数组 ;
// 读取 的配置项
// 数组声明会后 , 注意先进行初始化为 0 操作 , 否则其中的数据可能是随机的
char key[256] = {0}; // Key 键
char value[256] = {0}; // Value 值
- 1
- 2
- 3
- 4
- 然后 , 通过
scanf
获取 键值对 信息 ;
// 提示输入 Key 键
printf("\nPlease Input Key : ");
// 将 Key 存储到 name 字符串数组中
scanf("%s", key);
- 1
- 2
- 3
- 4
- 最后 , 调用
read_config_file
函数 , 传入 文件名称 , 键 字符串 , 值的接收数组 , 以及 写入 Value 值 的长度 ;
// 从 D:/File/config.ini 读取 键值对 信息
ret = read_config_file(CONFIG_FILE_NAME /*in*/, key /*in*/, value/*in*/, &value_len /*out*/);
- 1
- 2
代码示例 :
/**
* @brief read_config
* 从配置文件中 , 读取配置文件 键值对 信息
* @return
*/
int read_config()
{
// 局部变量 返回值 , 用于表示程序状态
int ret = 0;
// 读取 的配置项
// 数组声明会后 , 注意先进行初始化为 0 操作 , 否则其中的数据可能是随机的
char key[256] = {0}; // Key 键
char value[256] = {0}; // Value 值
// 值 Value 的长度
int value_len = 0;
// 提示输入 Key 键
printf("\nPlease Input Key : ");
// 将 Key 存储到 name 字符串数组中
scanf("%s", key);
// 从 D:/File/config.ini 读取 键值对 信息
ret = read_config_file(CONFIG_FILE_NAME /*in*/, key /*in*/, value/*in*/, &value_len /*out*/);
if (ret != 0)
{
printf("error : read_config : %d \n", ret);
return ret;
}
// 打印查询结果
printf("Get Value Success , Value = %s \n", value);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/121720421
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)