Introduction
ccl is the customizable configuration
library, a collection of functions for application programmers wishing to
interface with user-editable configuration files containing key/value
pairs.
ccl is customizable because it allows the comment, key/value, and
string literal delimiters to be programatically specified at runtime.
ccl
is designed to be simple and portable; it has a small interface consisting of
five functions and is written in ANSI/ISO C. ccl uses avl‘s implemenation of
binary search trees for backend storage.
Download
ccl is available via ftp from http://files.sbooth.org/.
Documentation
You can browse the library‘s contents by
using the navigation bar at the top of this page. A good starting point is the
globals page.
Example
An example is the best way to understand how ccl
works. A configuration file named example.conf might contain:
## Sample configuration file
Desktop-Picture = /usr/images/earth.jpg
Position = Centered
"Background Color" = Black
The following
code demonstrates how to parse and access this file using ccl:
#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);
When compiled, the snippet above produces the output
(Background Color,Black)
(Desktop-Picture,/usr/images/earth.jpg)
(Position,Centered)
Linux下用C读取配置文件。类似ini这样。,布布扣,bubuko.com
原文:http://www.cnblogs.com/dieangel/p/3588294.html