華為云計算 云知識 iniparser如何配置
iniparser如何配置

簡介

iniparser是針對INI文件的解析器。INI文件則是一些系統(tǒng)或軟件的配置文件。

編譯安裝方法

1.配置編譯環(huán)境

安裝wget工具。

yum install wget -y

2.獲取源碼

獲取“iniparser-3.1”源碼包。

cd /usr/local/src
wget https://codeload.github.com/ndevilla/iniparser/tar.gz/v3.1

3.編譯和安裝

1)解壓軟件包。

cd /usr/local/src
tar -zxvf v3.1

2)進入iniparser的安裝目錄。

cd iniparser-3.1/

3)安裝iniparser。

make

4)編譯成功后,檢查是否生成庫文件和頭文件。

a.檢查庫文件。

cd /usr/local/src/iniparser-3.1
ls

回顯信息如下,生成靜態(tài)庫文件“libiniparser.a”和動態(tài)庫文件“libiniparser.so.0”。

AUTHORS  doc  html  INSTALL  libiniparser.a  libiniparser.so.0  LICENSE  Makefile  README  src  test

b.檢查頭文件。

cd /usr/local/src/iniparser-3.1/src
ls

回顯信息如下,生成頭文件“dictionary.h”和“iniparser.h”。

dictionary.c  dictionary.h  dictionary.o  iniparser.c  iniparser.h  iniparser.o

4.運行和驗證

1)測試iniparser是否安裝完成。

a.創(chuàng)建iniparser的測試程序路徑。

cd /usr/local/src
mkdir iniparser_test
cd iniparser_test/

b.拷貝相關(guān)庫文件和頭文件到測試路徑。

cp /usr/local/src/iniparser-3.1/src/dictionary.h /usr/local/src/iniparser_test/
cp /usr/local/src/iniparser-3.1/src/iniparser.h /usr/local/src/iniparser_test/
cp /usr/local/src/iniparser-3.1/libiniparser.a /usr/local/src/iniparser_test/
cp /usr/local/src/iniparser-3.1/libiniparser.so.0 /usr/local/src/iniparser_test/

c.創(chuàng)建待測試的配置文件“example.ini”。

vim example.ini

編輯如下內(nèi)容,并保存退出。

[tcp]
port = 8000;
ip = 127.0.0.1;

d.創(chuàng)建運行程序測試iniparser的功能。

vim example.c

編輯如下內(nèi)容,并保存退出。

#include <stdio.h>

#include <stdlib.h>

#include "iniparser.h"




int main(void)

{

    dictionary *ini;

    int n = 0;

    char *str;

    ini = iniparser_load("example.ini");//parser the file

    if(ini == NULL)

    {

        fprintf(stderr,"can not open %s","example.ini");

        exit(EXIT_FAILURE);

    }

    printf("dictionary obj:\n");

    iniparser_dump(ini,stderr);//save ini to stderr

    printf("\n%s:\n",iniparser_getsecname(ini,0));//get section name

    n = iniparser_getint(ini,"tcp:port",-1);

    printf("port : %d\n",n);

    str = iniparser_getstring(ini,"tcp:ip","null");

    printf("ip : %s\n",str);

    iniparser_freedict(ini);//free dirctionary obj

    return 0;

}

e. 編譯運行“example.c”程序。

gcc example.c -o example -L. -liniparser
./example

回顯信息如下,則表示iniparser安裝成功且可正常使用。

dictionary obj:
[tcp]=UNDEF
[tcp:port]=[8000]
[tcp:ip]=[127.0.0.1]
tcp:
port : 8000
ip : 127.0.0.1