ini_parserを 使う前に 言っておきたい 事がある
基本的には、こんなコードで読み込みができます
サンプル
sample.ini
[常識] CLANNAD = 人生 AIR = 青春
に対するcpp
#include <boost/property_tree/ini_parser.hpp> using namespace boost; int main(){ property_tree::ptree pt; property_tree::read_ini("sample.ini", pt); if (optional<std::string> value = pt.get_optional<std::string>("常識.CLANNAD")) { std::cout << "CLANNADは " << value.get() << std::endl; dt.xmlList.push_back(bcl::widen(value.get())); }else {} if (optional<std::string> value = pt.get_optional<std::string>("常識.AIR")) { std::cout << "AIRは " << value.get() << std::endl; dt.xmlList.push_back(bcl::widen(value.get())); }else {} }
注意点など
- ファイル名はstd::string
- ちょこっと手を加えればなんとかなるかなと思ったけどptree周りがほとんどstringベタ書きだったのでbasic_string
置換作戦は時間がかかりそうですね
- ちょこっと手を加えればなんとかなるかなと思ったけどptree周りがほとんどstringベタ書きだったのでbasic_string
- 同じセクション名あるとread_iniで例外とびます
- まあこのへんはマニュアル読んでとしか
- (ptreeだと)大文字、小文字は区別します
- itreeを使いましょう(コメント参照。egtraさんありがとうございます)