2010-09-12 98 views
1

我在写一个类似INI的配置文件,我想知道在C/C++中解析它的最佳方法。我在POSIX上写它,所以我会用#代替。没关系。我只想知道,是否有某种教程,解析事物或其他东西的文章。解析类INI配置文件

回答

3

有很多关于解析的教程和文章,但是你要处理的是如此微不足道,以至于它们中的大多数可能会过度杀伤。由于之前做过这种事情的次数,我会从looking开始,在一些已经实现了你想要的东西的现有代码中。

2

已经有大量的开源库,你可以在很少或不需要修改的情况下使用它们。 libini

+0

啊是的,但我的主要原因是如何将它们包含在我的GPL应用程序中。我不知道如何在我的应用程序二进制文件中提供版权。 – Jookia 2010-09-12 17:29:59

+1

@Jookia:也许你可以在这里提出一个关于许可/版权问题的单独问题来解决这个问题? – 2010-09-12 18:06:01

0

根据你实际有多少复杂的需要,你可能只使用与fgets()在一个循环中,并手动每行解析脱身(例如用strstr(),strchr(),strcmp()等)。如果您只需要获取一些值,那么在拖动解析库时毫无意义。

1

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

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

0

如果升压是你矫枉过正,试试这6 KB BSD许可的代码。 (INI Not Invented Here)是一个用C语言编写的简单的.INI文件解析器。它只有几页代码,而且它设计得很小且很简单,所以对嵌入式系统很有用。“

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

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