C语言配置文件解析库——iniparser
前言:在对项目的优化时,发现Linux下没有专门的供给C语言使用的配置文件函数,于是搜索到了iniparser库,可以像那些面向对象语言一样,使用ini文件进行参数配置。
介绍
iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。
iniparser库有四种下载方式:
基本语法
Iniparser库的API可以对ini文件(配置文件)进行解析、设置、删除等操作。
ini文件的最基本组成单元就是key或者叫property,每个key都有一个名称(name)和对应的值(value):
name=value
1
而许多个Key可以被归类为一组,即section。组名定义要独立一行,并用中括号括起来:
[section]
name=value
1
2
在section声明下的keys都会和该section关联起来。一个section的作用域会在下一个section声明的地方结束,如果没有下一个section的声明,那么该section的结束地方就是该文件末尾。section是不可以嵌套的。
定位一个key是用section:key来表示的,所以不同section下的key的名称是可以相同的。
iniparser库处理名称的时候,会统一换成小写,所以section和property的名称命名是大小写无关的。
注释要以分号开头:
;comment
1
API
iniparser.h:
int iniparser_getnsec(dictionary * d); //获取dictionary对象的section个数
char * iniparser_getsecname(dictionary * d, int n); //获取dictionary对象的第n个section的名字
void iniparser_dump_ini(dictionary * d, FILE * f); //保存dictionary对象到file
void iniparser_dumpsection_ini(dictionary * d, char * s, FILE * f); //保存dictionary对象一个section到file
void iniparser_dump(dictionary * d, FILE * f); //保存dictionary对象到file
int iniparser_getsecnkeys(dictionary * d, char * s); //获取dictionary对象某个section下的key个数
char ** iniparser_getseck