iniparser(c庫)解析二

2021-09-05 09:09:48 字數 3476 閱讀 6650

一.交叉編譯ini解析庫

1.官方**

2.解壓

tar -zxvf iniparser

-3.1.tar.gz

cd tar -zxvf iniparser

3.修改makefile

cc = gcc 修改為--> cc = arm-none-linux-gnueabi-gcc

ar = ar 修改為--> ar = arm-none-linux-gnueabi-ar

4.編譯

make

5.拷貝src下的標頭檔案dictionary.h和iniparser.h以及壓縮包目錄下的靜態庫libiniparser.a和動態庫libiniparser.so.0到目標檔案系統的對應目錄下

二.iniparser庫api

intiniparser_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

intiniparser_getsecnkeys

(dictionary * d, char * s)

; //獲取dictionary物件某個section下的key個數

char ** iniparser_getseckeys

(dictionary * d, char * s)

; //獲取dictionary物件某個section下所有的key

char * iniparser_getstring

(dictionary * d, const

char * key, char * def)

; //返回dictionary物件的section:key對應的字串值

intiniparser_getint

(dictionary * d, const

char * key, int notfound)

; //返回idictionary物件的section:key對應的整形值

double

iniparser_getdouble

(dictionary * d, const

char * key, double notfound)

; //返回dictionary物件的section:key對應的雙浮點值

intiniparser_getboolean

(dictionary * d, const

char * key, int notfound)

; //返回dictionary物件的section:key對應的布林值

intiniparser_set

(dictionary * ini, const

char * entry, const

char * val)

; //設定dictionary物件的某個section:key的值

void

iniparser_unset

(dictionary * ini, const

char * entry)

; //刪除dictionary物件中某個section:key

intiniparser_find_entry

(dictionary * ini, const

char * entry)

; //判斷dictionary物件中是否存在某個section:key

dictionary * iniparser_load

(const

char * ininame)

; //解析dictionary物件並返回(分配記憶體)dictionary物件

void

iniparser_freedict

(dictionary * d)

; //釋放dictionary物件(記憶體)

unsigned

dictionary_hash

(const

char * key)

;

dictionary * dictionary_new

(int size)

; //建立dictionary物件

void

dictionary_del

(dictionary * vd)

; //刪除dictionary物件

char * dictionary_get

(dictionary * d, const

char * key, char * def)

; //獲取dictionary物件的key值

intdictionary_set

(dictionary * vd, const

char * key, const

char * val)

; //設定dictionary物件的key值

void

dictionary_unset

(dictionary * d, const

char * key)

; //刪除dictionary物件的key值

void

dictionary_dump

(dictionary * d, file * out)

; //儲存dictionary物件

ini檔案的格式(dictionary)

[section0]

key0 = value0

key1=value1

[section1]

key0 = value0

key1=value1

XML解析庫 lxml 教程 二

字典介面 在 xml 或 html 中每乙個標籤都有屬性,element類通過字典介面支援屬性操作 建立帶有屬性的element物件 from lxml import etree 帶屬性的 element root etree.element root name root 序列化為 xml 標籤 r...

併發庫程式設計複習(三) volatile解析二

首先本篇文章要說明是volatile不具備原子性,即不具備synchronized的同步特性 public class mythread5 extends thread system.out.println count public static void main string args for ...

python 爬蟲(二) 解析庫 的簡單使用

當我們在獲取到網頁相應內容的時候,就會使用去解析它 過濾得到想要的內容 正則re lxml 庫 beautiful soup pyquery jsonpath 擷取部分內容,以下所有例子將以這個響應內容來示範,假設響應的內容字串 定義為乙個變數 content 使用python 中內建的模組 re正...