文章目录

  • 一、追加键值对数据
  • 二、更新键值对数据
  • 三、完整代码示例

一、追加键值对数据


在上一篇博客 【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 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 追加键值对数据 | 更新键值对数据 )相关推荐

  1. 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )

    文章目录 一.逐行遍历文件文本数据 1.获取文件中的文本行 2.查询文本行数据 3.追加文件数据 4.使用占位符方式拼接字符串 二.完整代码示例 一.逐行遍历文件文本数据 1.获取文件中的文本行 调用 ...

  2. 【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 函数形参设置 | 确保打开文件成功 | 统计文件大小 )

    文章目录 一.函数形参设置 二.确保打开文件成功 三.统计文件大小 一.函数形参设置 函数形参设置 : 该函数的作用是 写出或更新配置项 , 遍历每行数据 , 检查 key 键 是否存在 , 如果存在 ...

  3. 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )

    文章目录 一.写出或更新配置文件 二.读取配置文件 一.写出或更新配置文件 写出或更新配置文件 : 首先 , 使用 字符数组 存储 键值对 信息 ; // 写出 或 更新 的配置项// 数组声明会后 ...

  4. 杂项题的基本解题思路——1、文件操作与隐写

    1.文件操作与隐写 文件类型识别 文件类型(图片.压缩包.流量包.word.Excel.ppt,PDF-) 怎么知道是一张图片:后缀名是.jpg .png- a.File命令 (这边说到的命令或者是工 ...

  5. 使用EasyExcel进行文件的读取与写出(根据目录看更清晰)

    EasyExcel简介 Java领域解析.生成Excel比较有名的框架有Apache poi.jxl等.但他们都存在一个严重的问题就是非常的耗内存.如果你的系统并发量不大的话可能还行,但是一旦并发上来 ...

  6. Python基本语法_文件操作_读写函数详解

    目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...

  7. 文件操作:读写模式、操作模式、操作方法

    文件操作 补充储备 1.with语法支持一次性打开多个文件,需要用逗号隔开eg:with open(r'a.txt','r',encoding='utf8') as f1 , open(r'b.txt ...

  8. golang 文件操作 创建 读写 复制移动 权限 删除

    目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...

  9. PYTHON文件操作(读/写文件)

    模板先行,介绍在后面 with open("ce.txt",encoding='utf-8') as file:# text = file.read()while True:#获取 ...

最新文章

  1. luogu P4240 毒瘤之神的考验(莫比乌斯反演+递推前缀和+数论分块)
  2. python堆栈与队列_python语言的堆栈与队列类的实现
  3. 在XNA 3.0 项目添加声音——播放MP3或WMA声音文件
  4. C#利用Process关闭所有的IE窗口
  5. 参数模型 非参数模型 生成模型 判别模型
  6. QML 圆角进度条实现 圆角剪切
  7. 门户通专访草根站长九天狼:做站贵在坚持
  8. The DiskSpace quota of /five is exceeded: quota = 4096 B = 4 KB but diskspace consumed = 402653184
  9. 程序员的双肩包,大概能装下整个宇宙!
  10. 准确查询表空间使用情况
  11. 史上最全mysql日期计算(月初、月末、上中下旬判断、年初、年末、季初、季末)
  12. 网站流量可视化分析--页面指标分析、访问量分析
  13. 你的代码值多少钱 ?
  14. CPU GPU设计工作原理
  15. 公司的耍流氓行为,你知道几个?
  16. DGA(域名生成算法)/DNS tunnel
  17. UIView 的部分圆角的设定
  18. 嵌入式 Linux 的学习新路线
  19. 统一登录passport介绍
  20. 12.2.3 更新某个范围内的数据

热门文章

  1. 后盾网lavarel视频项目---图片上传
  2. git的基本使用-1
  3. 2019年十二周总结
  4. UVA1601万圣节的早上
  5. js作用域链以及全局变量和局部变量
  6. android 圆角图片的实现
  7. linux 中php以及nginx的重启命令
  8. dell服务器系统开机提示错误解决方法
  9. 多分辨率图像的快速查询
  10. [转]SupSite页面文件与模块关系说明