2010-09-12 126 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++類,如果你喜歡的對象,而且它同時支持 「;」和「#」評論。