1

2つ以上のレベルを持つiniファイルが必要です...このようなもの

[Section1]
Value1 = 10
Value2 = a_text_string

[Section2]
[SubSection1]
Value1=1
Value2=2

[Section2]
[SubSection2]
Value1=a
Value2=b

Qn 1. そのような ini ファイルを作成する方法は?

その後、これらの値をロードして、Boost を使用してアプリケーションに出力したい

* Qn2. これは機能しますか?そうでない場合、どうすればそれを行うことができますか? *

boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini("config.ini", pt);
std::cout << pt.get<std::string>("Section1.Value1") << std::endl;
std::cout << pt.get<std::string>("Section2.Subsection1.Value2") << std::endl;
4

1 に答える 1

3

INI ファイルは、このような構造をサポートしていません。INI ファイルに異なる構造レベルを持たせたい場合は、各セクションでフル パスを指定する必要があります。

[Section1]
Value1 = 10
Value2 = a_text_string

[Section2.SubSection1]
Value1=1
Value2=2

[Section2.SubSection2]
Value1=a
Value2=b

実際の「Section2」。プレフィックスは、INI 文法では特に意味はありません。これは、ネストによってサポートされていない言語でこの種の構造を作成する方法にすぎません。

于 2012-10-02T19:22:54.373 に答える