-
Notifications
You must be signed in to change notification settings - Fork 0
tangfu/config_parse
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
config_parse
============
parse configfile
解析配置文件
===========
1. 【特性】
* 本库支持多个setion
* 键和值的分割,注释符,区限定符都支持自定义,默认以=分割,# 号注释,[]限定(注释暂时只支持行首注释, 在数据后面注释无效)
* read_item中item为NULL直接返回错误,不允许此操作,section为NULL查找任意分区下第一个匹配到的item
同样,del时,section为NULL时默认删除所有section下的item项目,item=NULL删除整个section
同时,如果item=NULL或者item=“”直接返回, 不允许item为空字符串,这是大前提
* 当区中item个数为0时不删除区信息,必须手动调用删除
* 数据结构中,全局变量也就是没有区的数据也归于一个区,只不过输出时先输出
* 由于使用了线程读写锁,因此需要加上-lpthread进行编译
* 允许value值为空,但不允许item的值为空
* 配置文件的各种标识符必须使用,否则不会生效,没有定义的标志一律用UNDEFINED标志,不能不使用
* 使用了线程读写锁,但是可以在多进程中使用
* 文件被修改后保存文件,非配置项会被丢弃(像空行或注释等)
* 支持块注释,但块注释不能只注释一行,格式是:“注释符号+{” 和“注释符号+}”
==========
2. 【使用方法】
char buf[100];
config_rw_tool *conf = create_config_tool("conf.log");
conf->init(conf, "cdn.conf", SQUARE_BRACKET, POUND);
conf->get_item(conf, NULL, "SERVER", buf, 100);
conf->close(conf);
destroy_config_tool(conf);
About
parse configfile
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published