在Linux上使用ini文件

有没有任何标准的方式来阅读一种类似linux的ini文件的configuration使用c? 我正在开发一个基于Linux的手持式和编写代码。

否则,我想知道任何替代品。

最终更新:

我已经探索,甚至使用LibConfig。 但足迹很高,我的使用太简单了。 所以,为了减less足迹,我已经推出了我自己的实施。 实现不是太笼统,事实上现在还是相当耦合的。 configuration文件在启动应用程序时被parsing一次,并设置为一些全局variables。

试试libconfig :

一个简单的库来处理结构化配置文件,就像这样: test.cfg 。 这种文件格式比XML更紧凑,可读性更强。 和XML不同的是,它是类型感知的,所以没有必要在应用程序代码中进行字符串解析。

Libconfig非常紧凑,只是expat XML解析器库的一小部分。 这使得它非常适合手持设备等内存受限的系统。

该库包含C和C ++语言的绑定。 它适用于符合POSIX的UNIX和类UNIX系统(GNU / Linux,Mac OS X,Solaris,FreeBSD),Android和Windows(2000,XP及更高版本)…

不,没有一个标准的方法。 我很抱歉,但这可能是最准确的答案:)

你可以看看这个Linux配置文件库列表 。 这可能会有所帮助。

这里有四个选项:

  1. Iniparser
  2. libini
  3. SDL-CFG
  4. RWini

如果您可以使用(在任何基于C的应用程序中都是优秀的) glib ,那么它有一个适用于.ini风格文件的键值文件分析器 。 当然,你也可以访问glib中的各种(非常好的)数据结构,“免费”。

在ccan中有一个更新的iniparser 分支 ,原来的作者多年来一直没能引起足够的重视。 免责声明 – 我维护它。

此外,iniparser包含一个非常有用的字典。

我不建议在提示XML时提供完全不同的东西,但是libexpat是相当简单的,但是却是XML。

我得出了这个结论,因为我有和你一样的问题,但后来我意识到这个项目已经有libexpat链接了,我应该使用它。

如果你需要一个快速和小代码来阅读配置文件,我建议inih

它只加载配置文件内容一次,解析内容并为每个键/值对调用一个回调函数。

真的很小。 它也可以在嵌入式系统上使用。