我正在编写一个类似INI的配置文件,我想知道在C / C ++中解析它的最佳方法。我在POSIX上写它,所以我将使用#而不是;。哪个没关系。我只是想知道,是否有某种教程,关于解析事物的文章。
答案 0 :(得分:3)
有许多关于解析的教程和文章,但你所处理的内容是如此微不足道,以至于大多数都可能有些过分。
考虑到以前做过这种情况的频率,我从looking开始,已经实现了几乎已经实现的所有代码。
答案 1 :(得分:2)
已经有很多开源库,您可以在很少或没有修改的情况下使用它们,例如: libini
答案 2 :(得分:1)
通常在C ++基本的东西中,boost有一个可以读取ini文件的库。实际上有两个库,取决于你想要实现的目标:
答案 3 :(得分:1)
尝试配置器。它是易于使用且灵活的C ++库,用于配置文件解析(从最简单的INI到具有任意嵌套和语义检查的复杂文件)。仅限标题和跨平台。使用Boost C ++库。
答案 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 ++类,如果你喜欢对象,它同时支持“;”和“#”评论。