解析类似INI的配置文件

时间:2010-09-12 16:23:45

标签: c++ ini

我正在编写一个类似INI的配置文件,我想知道在C / C ++中解析它的最佳方法。我在POSIX上写它,所以我将使用#而不是;。哪个没关系。我只是想知道,是否有某种教程,关于解析事物的文章。

6 个答案:

答案 0 :(得分:3)

有许多关于解析的教程和文章,但你所处理的内容是如此微不足道,以至于大多数都可能有些过分。

考虑到以前做过这种情况的频率,我从looking开始,已经实现了几乎已经实现的所有代码。

答案 1 :(得分:2)

已经有很多开源库,您可以在很少或没有修改的情况下使用它们,例如: libini

答案 2 :(得分:1)

通常在C ++基本的东西中,boost有一个可以读取ini文件的库。实际上有两个库,取决于你想要实现的目标:

答案 3 :(得分:1)

尝试配置器。它是易于使用且灵活的C ++库,用于配置文件解析(从最简单的INI到具有任意嵌套和语义检查的复杂文件)。仅限标题和跨平台。使用Boost C ++库。

请参阅:http://opensource.dshevchenko.biz/configurator

答案 4 :(得分:0)

根据您实际需要的复杂程度,您可能只需在循环中使用fgets()并手动解析每一行(例如使用strstr(),strchr(),strcmp()等)。如果您只需要获取一些值,那么在解析库中拖动就没什么意义了。

答案 5 :(得分:0)

如果Boost对你来说太过分了,请试试这个6 Kb BSD许可代码。

“inih(INI Not Invented Here)是一个用C编写的简单的.INI文件解析器。它只有几页代码,而且设计得小而简单,因此对嵌入式系统很有用。” / p>

http://code.google.com/p/inih/

还有一个C ++类,如果你喜欢对象,它同时支持“;”和“#”评论。