2008-09-29 71 views
26

是否有任何可用于C/C++的良好配置文件读取库,可用于在Linux平台上编写的应用程序。我想为我的应用程序提供一个简单的配置文件。充其量,我想避免可能会让用户感到困惑的XML文件。Linux配置文件库

+2

我认为您决定避免XML是一个很好的决定。除了紧急情况,XML不是人类可读的。 – 2008-09-29 08:39:13

回答

6

Boost program_options这使您可以读取配置文件,环境变量和命令行程序选项。它是便携式的,非常易于使用。

+0

但该库无法保存程序选项。 – Jichao 2014-04-20 13:28:32

1

如果你只是想要一个简单的配置文件,以及一系列命令和/或变量设置,那么编写你自己的解析器非常容易,很容易,它可能不值得使用库。如果你需要更复杂的东西,那么解析器会变得更加复杂,现有的库值得使用。

我从来没有尝试使用libconfig,但它看起来像一个不错的选择,我喜欢它使用的配置文件的格式。

您需要决定是否希望程序能够写入配置文件。如果它是一个GUI程序,你可能会这样做。这将影响什么库是适合的。

8

另一种选择是Boost.PropertyTreedoc)。它允许读/写XML,INI,JSON和Info文件。你可以免费获得便携性。

0

问题是你在想什么文件格式?属性“简单”是一个不足之处。 如果您正在寻找一个可以使用“windows .ini formated”配置文件的库,您可能需要查看ACE http://www.cs.wustl.edu/~schmidt/ACE/

1

对于单个应用程序,您可以考虑libconfuse

如果您需要能够处理各种配置文件格式(例如,系统的Web门户,需要以多种格式从许多应用读取和写入配置文件),则有Augeas