资源简介
纯c读写ini配置文件
用c/c++读写ini配置文件有不少第三方的开源库,如iniparser、libini、rwini、UltraLightINIParser等,但都不理想,往往代码较大、功能较弱、
接口使用不方便。尤其在大小写处理、前后空格、各种注释、跨平台换行符支持、带引号字符串处理、无section操作、原格式保持等方面存在问题。
现将本人精心制作的ini读写程序源码奉献给大家,纯c编写,简洁好用。支持windows和linux。
主要特点:
1、支持;和#注释符号,支持行尾注释。
2、支持带引号'或"成对匹配的字符串,提取时自动去引号。引号中可带其它引号或;#注释符。
代码片段和文件信息
#include
#include
#include
#include
#define SIZE_LINE 1024 //每行最大长度
#define SIZE_FILENAME 256 //文件名最大长度
#define min(x y) (x <= y) ? x : y
typedef enum _ELineType_ {
LINE_IDLE //未处理行
LINE_ERROR //错误行
LINE_EMPTY //空白行或注释行
LINE_SECTION //节定义行
LINE_VALUE //值定义行
} ELineType ;
static char gFilename[SIZE_FILENAME];
static char *gBuffer;
static int gBuflen;
//去除串首尾空格,原串被改写
static char *StrStrip(char *s)
{
size_t size;
char *p1 *p2;
size = strlen(s);
if (!size)
return s;
p2 = s + size - 1;
while ((p2 >= s) && isspace(*p2))
p2 --;
*(p2 + 1) = ‘\0‘;
p1 = s;
while (*p1 && isspace(*p1))
p1 ++;
if (s != p1)
memmove(s p1 p2 - p1 + 2);
return s;
}
//不区分大小写比较字符串
stat
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 623 2010-10-10 10:10 inirw\config.ini
文件 10250 2010-10-10 10:10 inirw\inirw.c
文件 1582 2010-10-10 10:10 inirw\inirw.h
文件 403 2010-10-10 10:10 inirw\makefile
文件 1165 2010-10-10 10:10 inirw\test.cpp
文件 872 2010-10-10 10:10 inirw\test.sln
文件 4080 2010-10-10 10:10 inirw\test.vcproj
目录 0 2010-10-10 10:10 inirw
----------- --------- ---------- ----- ----
18975 8
相关资源
- 移动联通短信猫wavecom收发插件
- QDockWidget多层嵌套布局
- 视频转图片(opencv)
- c++ 数字键盘设计(源码)
- 1062LCD显示
- Qt5+QtChart绘制饼图
- qgraphicsitem 编程小
- qt 快速读取excel代码
- diagramscene箭头连接方法
- QT的TCP服务器DEMO
- Linux优先级时间片调度C++源码
- 精通UNIX下C语言编程及项目实践总结与
- linux下获取CPU内存使用信息,网络流量
- c++ RoyCardTableView 列表插入
- 网络请求使用cocoapods
- ios 简单闹铃实现
- STC单片机下位机IIC通信
- 利用C生成正弦波DA数据
- stc15w单片机mpr121触摸按键
- 51单片机:信号发生器
- stc系列单片机串口通讯
- qt5 旋转(.patch文件源码)
- 3G系统-WCDMA和CDMA2000完整MATLAB仿真程序
- 非阻塞式AT指令发送接收工程,可驱动
- RS485;PC到单片机单向通讯;
- 加权调度算法(C语言)
- 单片机最小系统(附原理图和PCB).
- 超声波测距(LCD1602显示)
- 2017年电赛瑞萨芯片RX23T原理图.SchDoc
- FDCAN实验(CAN总线的使用)
评论
共有 条评论