下载
wget https://files.sbooth.org/ccl-0.1.1.tar.gz
编译&安装
tar zxvf ccl-0.1.1.tar.gz
cd ccl-0.1.1
./configure
./make
sudo make install
测试
cd ccl-0.1.1/demo
gcc -o main tester.c -lccl
./main simple.conf
输出结果:
(Background Color,Black)
(Desktop-Picture,/usr/images/earth.jpg)
(Position,Centered)
测试二:
./main example.conf
输出结果:
ccl: Ignoring duplicate key ‘Favorite_Color’ (example.conf:31) ## 重复的key
ccl: Missing key (example.conf:35) ## key值是空
ccl: Unterminated string (example.conf:45) ## key 缺少双引号
ccl: Unterminated string (example.conf:48) ## value 缺少双引号
(Blank Value ,)
(Bogus_Value,)
(Favorite_Color,Blue)
(Key,Value)
(Key_with_#,Value_with =#)
(Key_with_=,Value with spaces)
(Password,password)
(Username,sbooth)
示例
#include "ccl/ccl.h"
struct ccl_t config;
const struct ccl_pair_t *iter;
/* Set configuration file details */
config.comment_char = '#';
config.sep_char = '=';
config.str_char = '"';
/* Parse the file */
ccl_parse(&config, "example.conf");
/* Iterate through all key/value pairs */
while((iter = ccl_iterate(&config)) != 0) {
printf("(%s,%s)\n", iter->key, iter->value);
}
/* Clean up */
ccl_release(&config);