2014-03-06 39 views
1

我有一個使用類似以下的人等值C++

private static final int PARAM_1 = Integer.valueOf(ResourceBundle.getBundle("solution.filtres").getString("filtre.param1.solution")); 
private static final int PARAM_2 = Integer.valueOf(ResourceBundle.getBundle("solution.filtres").getString("filtre.param2.solution")); 

和文件filtres.propertiessolution文件夾中找到更多的線路包含Java類:

filtre.param1.solution=1.5 
filtre.param2.solution=6 

我知道ResourceBundle用於用戶區域設置,但它似乎只是將值從特定文件分配給靜態成員。

我想在C++中做類似的事情。我發現了C++的this,但它看起來有點奇怪;所以我問:

  1. 它是類似於ResourceBundle在C + +(不是我所發現的)?如果是的話,什麼,我在哪裏可以找到一些例子?
  2. 你是否建議我以更簡單的方式做到這一點?

如果有人做過這樣的任務,我將不勝感激。

+1

將數據嵌入到可執行文件中是可能的,但僅限於操作系統特定的API /工具鏈。沒有什麼比這'std' – Paranaix

+0

謝謝,聽起來像我需要做一些定製,比如從我讀一個.txt,或與這些成員 –

+0

普通文件是一點問題都沒有簡單的,只是一個類。你可以看一下http://pocoproject.org/docs/Poco.Util.PropertyFileConfiguration.html,它提供了一個類似於屬性文件的java接口。 – Paranaix

回答

0

使用Boost及其pthree和.xml或.json解析器是更好的方法。

+0

好的。但是'ptree'可起動增壓訴1.41.1有的人還必須使用升壓的舊版本。 – zergius

+0

我心疼他們,但是這是我的解決方案...無論如何,爲什麼他們被迫有一箇舊版本? –

0

ResourceBundle允許檢索某個鍵的文本數據,並返回基於指定語言環境的結果。我不知道在C++中完全匹配,但我想推薦使用GNU gettext()作爲實現類似類型的國際化支持的選項。