假设我有一个简单的配置文件,我的c程序需要读取/解析.
让我们说它看起来有点像这样:
#Some comment key1=data1 key2=data2
有没有我可以使用的标准c lib而不是编写自己的解析器?
谢谢约翰
注意:今天我有自己的小解析器,但必须有一些标准的库可以解决这个简单的问题.
libconfig但它确实比你要求的要多得多
为什么不使用GLIB?
在无数其他事物中,它具有用于解析INI的库函数,如配置文件:
http://library.gnome.org/devel/glib/2.22/glib-Key-value-file-parser.html
除此之外,它还支持数据类型(列表,哈希表,字符串,高速缓存),线程,平台中立抽象,单元测试,错误处理和许多其他伟大的东西.
对我来说这是最有用的C库,我需要有一个很好的理由来编写一个不使用这个库的C程序.
我觉得这里值得一提的是libConfuse,引用它的描述:
libConfuse是一个配置文件解析器库,根据ISC许可条款许可,并用C语言编写.它支持部分和(列表)值(字符串,整数,浮点数,布尔值或其他部分),以及一些其他功能(例如单/双引号字符串,环境变量扩展,函数和嵌套包含语句).它使用简单的API将配置文件功能添加到程序中变得非常容易.
libConfuse的目标不是具有大量功能的配置文件解析器库.相反,它旨在易于使用并快速与您的代码集成.libConfuse之前被称为libcfg,但其名称已更改为不与其他类似库混淆.
它似乎与已经提到的libconfig非常相似.现有库的A研究中有一个简短的比较,用于从配置文件中读取,对于任何选择替代方案的人来说,这可能是一个有用的开端.