纯c读写ini配置文件用c/c++读写ini配置文件有不少第三方的开源库,如iniparser、libini、rwini、UltraLightINIParser等,但都不理想,往往代码较大、功能较弱、接口使用不方便。
尤其在大小写处理、前后空格、各种注释、跨平台换行符支持、带引号字符串处理、无section操作、原格式保持等方面存在问题。
现将本人精心制作的ini读写程序源码奉献给大家,纯c编写,简洁好用。
支持windows和linux。
主要特点:1、支持;和#注释符号,支持行尾注释。
2、支持带引号'或"成对匹配的字符串,提取时自动去引号。
引号中可带其它引号或;#注释符。
3、支持无section或空section(名称为空)。
4、支持10、16、8进制数,0x开头为16进制数,0开头为8进制。
5、支持section、key或=号前后带空格。
6、支持\n、\r、\r\n或\n\r换行格式。
7、不区分section、key大小写,但写入时以新串为准,并保持其大小写。
8、新增数据时,若section存在则在该节最后一个有效数据后添加,否则在文件尾部添加。
9、支持指定key所在整行删除,即删除该键值,包括注释。
10、可自动跳过格式错误行,修改时仍然保留。
11、修改时保留原注释:包括整行注释、行尾注释(包括前面空格)。
12、修改时保留原空行。
以上三点主要是尽量保留原格式。
不足之处:1、不支持单key多value(逗号分割),只能一次性提取后自行处理。
2、不支持同名重复section和key。
(重复section可视为错误,重复key则可能造成分歧)3、不能提取所有section或key名称。
使用只需两个文件inirw.h、inirw.c,另有测试程序和工程文件,支持windows和linux。
2025/10/15 11:32:26 7KB c 读写 ini
1
2019年中级经济师金融考试真题
2025/10/15 9:40:25 73KB 2019年 中级经济师 金融 考试真题
1
单击VisualC++6.0的打开按钮,出现“Microsoft(R)DeveloperStudio已停止工作”.FileTool.exe替换打开和添加到项目在Visualc++中的功能.解决问题小工具.
2025/10/15 8:43:41 50KB filetool
1
处理emoji表情jsunicode转码解码方法封装类,自己项目中使用的东西处理emoji表情jsunicode转码解码方法封装类,自己项目中使用的东西
2025/10/15 3:05:20 1KB js emoji unicode
1
越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与他人互动交流,拥有一个自己独立的空间,随着Web2.0时代的到来,一个新的概念出现了——博客。
首先介绍了博客网站设计的意义和背景,主流博客网站的主要功能。
重点介绍了基于J2EE架构的博客网站设计方案,实现的主要功能。
其次,重点讲述了博客网站的业务逻辑层和持久层的设计与开发过程中所涉及的技术及开源框架。
系统如何以Spring框架为核心,向下整合Hibernate进行持久层访问,向上整合Struts按清晰的MVC模式控制,怎样划分应用的层次。
简述了页面的请求的分发及流程。
最后对BLOG网站开发中所碰到的一些问题,并针对这些问题提出一些解决方案,最后对系统性能作出一些简要评估,阐述了一些个人想法。
2025/10/15 3:55:19 473KB java 博客网站设计与开发 毕业论文
1
嵌入式系统软件设计中的数据结构(完整版),嵌入式入门基础教材。
2025/10/15 2:57:24 44.15MB 嵌入式系统 软件设计 数据结构
1
根据有关数学方法,调用Matlab软件环境提供的有关命令或算法函数而编制的计算程序,即M文件。
这些M文件格式,可以直接在Matlab软件中运行,也可以txt文件方式打开进行编辑。
2025/10/15 1:19:54 4.52MB matlab程序
1
Turbo编译码程序c、c++,包含编码、译码两个.cpp,可以在VS中Linux下加入工程中使用,也可以加在Matlab中使用
2025/10/14 21:28:04 11KB Turbo 编译码 C C++
1
设计算法实现树的最大连通分支问题。
给定一棵树T,树中每个顶点u都有一个权w(u)(注意:权可以是负数)。
设计算法求该树的一个连通子图,使该子图的权之和最大。
2025/10/14 18:41:47 681KB 最大连通分支
1
本人在Android中学习到备份短信时,需求是这样的,需要将短信备份到xml文件中.踩到一个坑,当XmlSerializer遇到emoji表情时,就会出错,保存xml文件就会失败.最后谷歌找了个别人写的KXmlSerializer(),完美解决这个问题.demo中有完整代码
2025/10/14 16:27:13 1.45MB Android xml
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡