Ini解析 --iniparser

Iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。Iniparser库的API可以对ini文件(配置文件)进行解析、设置、删除等操作。

下载iniparser:

Github: https://github.com/ndevilla/iniparser

主要代码都在src目录下:

其中dictionary.h里面声明了一些直接解析ini file的API,iniparser.h里面声明了一些提供用户操作的API。iniparser.h里面的API是对dictionary.h里面API的再次封装。

下载文件后解压,进入目录,执行make命令:

Ini解析 --iniparser_第1张图片

由上可见,make生成了libiniparser.a静态库和libiniparser.so.1动态库。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,使用这两个目录中的库时不需要进行设置搜索路径即可直接使用,所以可以把这两个库文件直接拷贝到对应的目录下。

一个简单的配置文件示例:

[info]
name=home
[email protected]

[setting]
ip=127.0.0.1
port=8080
indx=home.html
time=20190906

使用方法

将两个生成的库文件libiniparser.a和libiniparser.so.1拷贝到对应的代码目录下或者系统默认的库搜索路径下;将dictionary.h和iniparser.h拷贝到对应代码目录下;在测试代码文件中包含iniparser.h头文件。

代码操作示例:

void test_ini()
{
    const char* iniPath    = "settings/ini/info.ini";
    const char* changePath = "settings/ini/change.ini";

    dictionary *ini = NULL;
    ini = iniparser_load(iniPath);
    if ( ini == NULL ) {
        cout<<"stone:iniparser_load error!"<

上述代码对配置文件进行读取、修改和保存操作。Makefile中记得增加-liniparser编译参数。

执行结果:

执行后产生新文件change.ini,其中内容如下:

Ini解析 --iniparser_第2张图片

可见,setting配置段中port字段值已经成功修改了。

你可能感兴趣的:(C++,Linux)