【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 追加键值对数据 | 更新键值对数据 )
文章目录
- 一、追加键值对数据
- 二、更新键值对数据
- 三、完整代码示例
一、追加键值对数据
在上一篇博客 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 ) 中 , 介绍了 逐行 遍历查询 文本文件中的键值对信息 ;
如果没有查找到 Key 关键字 , 则说明原来的配置文件中 , 没有改键值对信息 ;
此处将最新的键值对信息 追加进去即可 ;
使用 fprintf
函数 , 向文件中 , 追加新的键值对信息 ;
// 如果 Key 关键字不存在 , 直接将数据追加到文件末尾即可if (key_exist == 0){fprintf(fp, "%s = %s\n", key, value);}
二、更新键值对数据
如果 Key 关键字存在 , 则需要重新写出该文件的数据 , 原来的数据直接删除覆盖 ;
这里的 更新键值对数据 , 是直接删除原来文件的所有信息 , 重新写入完整的文件信息 ;
首先 , 关闭之前的文件 ;
// 先关闭之前的 文件指针if (fp != NULL){fclose(fp);fp = NULL;}
然后 , 重新打开文件 ;
// 重新打开文件fp = fopen(filename, "w+t");if (fp == NULL){ret = -4;printf("fopen() err. \n");goto End;}
最后 , 将文件的完整数据 , 写出到 文件 中 ;
// 将文件的完整数据 , 写出到 fp 中// 注意此处的文件数据 , 没有原来的 键值对数据// 写入了要更新的键值对数据fputs(file_buffer, fp);// 也可以使用 fwrite 函数 , 向文件中写出数据//fwrite(filebuf, sizeof(char), strlen(filebuf), fp);
代码示例 :
else // 如果 Key 关键字存在 , 则需要重新写出该文件的数据 , 原来的数据直接删除覆盖{// 先关闭之前的 文件指针if (fp != NULL){fclose(fp);fp = NULL;}// 重新打开文件fp = fopen(filename, "w+t");if (fp == NULL){ret = -4;printf("fopen() err. \n");goto End;}// 将文件的完整数据 , 写出到 fp 中// 注意此处的文件数据 , 没有原来的 键值对数据// 写入了要更新的键值对数据fputs(file_buffer, fp);// 也可以使用 fwrite 函数 , 向文件中写出数据//fwrite(filebuf, sizeof(char), strlen(filebuf), fp);}
三、完整代码示例
完整代码示例 :
// 如果 Key 关键字不存在 , 直接将数据追加到文件末尾即可if (key_exist == 0){fprintf(fp, "%s = %s\n", key, value);}else // 如果 Key 关键字存在 , 则需要重新写出该文件的数据 , 原来的数据直接删除覆盖{// 先关闭之前的 文件指针if (fp != NULL){fclose(fp);fp = NULL;}// 重新打开文件fp = fopen(filename, "w+t");if (fp == NULL){ret = -4;printf("fopen() err. \n");goto End;}// 将文件的完整数据 , 写出到 fp 中// 注意此处的文件数据 , 没有原来的 键值对数据// 写入了要更新的键值对数据fputs(file_buffer, fp);// 也可以使用 fwrite 函数 , 向文件中写出数据//fwrite(filebuf, sizeof(char), strlen(filebuf), fp);}
【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 追加键值对数据 | 更新键值对数据 )相关推荐
- 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )
文章目录 一.逐行遍历文件文本数据 1.获取文件中的文本行 2.查询文本行数据 3.追加文件数据 4.使用占位符方式拼接字符串 二.完整代码示例 一.逐行遍历文件文本数据 1.获取文件中的文本行 调用 ...
- 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 函数形参设置 | 确保打开文件成功 | 统计文件大小 )
文章目录 一.函数形参设置 二.确保打开文件成功 三.统计文件大小 一.函数形参设置 函数形参设置 : 该函数的作用是 写出或更新配置项 , 遍历每行数据 , 检查 key 键 是否存在 , 如果存在 ...
- 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )
文章目录 一.写出或更新配置文件 二.读取配置文件 一.写出或更新配置文件 写出或更新配置文件 : 首先 , 使用 字符数组 存储 键值对 信息 ; // 写出 或 更新 的配置项// 数组声明会后 ...
- 杂项题的基本解题思路——1、文件操作与隐写
1.文件操作与隐写 文件类型识别 文件类型(图片.压缩包.流量包.word.Excel.ppt,PDF-) 怎么知道是一张图片:后缀名是.jpg .png- a.File命令 (这边说到的命令或者是工 ...
- 使用EasyExcel进行文件的读取与写出(根据目录看更清晰)
EasyExcel简介 Java领域解析.生成Excel比较有名的框架有Apache poi.jxl等.但他们都存在一个严重的问题就是非常的耗内存.如果你的系统并发量不大的话可能还行,但是一旦并发上来 ...
- Python基本语法_文件操作_读写函数详解
目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...
- 文件操作:读写模式、操作模式、操作方法
文件操作 补充储备 1.with语法支持一次性打开多个文件,需要用逗号隔开eg:with open(r'a.txt','r',encoding='utf8') as f1 , open(r'b.txt ...
- golang 文件操作 创建 读写 复制移动 权限 删除
目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...
- PYTHON文件操作(读/写文件)
模板先行,介绍在后面 with open("ce.txt",encoding='utf-8') as file:# text = file.read()while True:#获取 ...
最新文章
- luogu P4240 毒瘤之神的考验(莫比乌斯反演+递推前缀和+数论分块)
- python堆栈与队列_python语言的堆栈与队列类的实现
- 在XNA 3.0 项目添加声音——播放MP3或WMA声音文件
- C#利用Process关闭所有的IE窗口
- 参数模型 非参数模型 生成模型 判别模型
- QML 圆角进度条实现 圆角剪切
- 门户通专访草根站长九天狼:做站贵在坚持
- The DiskSpace quota of /five is exceeded: quota = 4096 B = 4 KB but diskspace consumed = 402653184
- 程序员的双肩包,大概能装下整个宇宙!
- 准确查询表空间使用情况
- 史上最全mysql日期计算(月初、月末、上中下旬判断、年初、年末、季初、季末)
- 网站流量可视化分析--页面指标分析、访问量分析
- 你的代码值多少钱 ?
- CPU GPU设计工作原理
- 公司的耍流氓行为,你知道几个?
- DGA(域名生成算法)/DNS tunnel
- UIView 的部分圆角的设定
- 嵌入式 Linux 的学习新路线
- 统一登录passport介绍
- 12.2.3 更新某个范围内的数据