ini檔案解析c程式碼
阿新 • • 發佈:2019-01-07
非常感謝taoyuanmin,該篇文章的原始碼就是從taoyuanmin獲得的,感覺程式碼實現的非常好。
編譯原始碼
由於直接提供的原始碼檔案,使用之需要將原始碼檔案加入工程進行編譯即可,所以不需要編譯成庫檔案,如果想編譯成庫檔案也可以,解壓包中直接帶有makefile檔案和test測試程式碼,所以之需要直接執行make就可以進行測試。
測試程式碼
#include <stdio.h> #include <string.h> #include <sys/types.h> #include <unistd.h> #include "inirw.h" int main() { /*if (daemon(0, 0)) {//呼叫glibc庫函式daemon,建立daemon守護程序 perror("daemon"); return -1; }*/ const char *file = "/home/renz/rz/ma/dd/config.ini"; printf("load file %s\n", file); iniFileLoad(file); pid_t pid = getpid(); int i = 0; iniSetInt("pid", "test", pid, 0); while(1) { sleep(3); iniSetInt("pid", "testmun", i, 0); printf("iniSetInt %d\n", i); i++; } return 0; }
生成pid下的兩個配置項
[pid]
test = 13086
testmun = 5
testmun為每一秒鐘自加一修改。
編譯結果如下:
[email protected]:~/inifile$ make
gcc -g -O2 -Wall -c inirw.c -o obj/inirw.o
gcc -g -O2 -Wall -c test.c -o obj/test.o
gcc -g -O2 -Wall obj/inirw.o obj/test.o -ldl -lm -o bin/test
Type ./bin/test to execute the program.
[email protected]:~/inifile$ ls
bin dep inirw.c inirw.h makefile obj test.c
[email protected]:~/inifile$ ./bin/test
load file /home/renz/rz/ma/dd/config.ini
iniSetInt 0
iniSetInt 1
^C