我想拥有一个超过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;
答案 0 :(得分:3)
INI文件不支持这样的结构。如果要在INI文件中具有不同的结构级别,则必须在每个部分中指定完整路径:
[Section1]
Value1 = 10
Value2 = a_text_string
[Section2.SubSection1]
Value1=1
Value2=2
[Section2.SubSection2]
Value1=a
Value2=b
实际的“第2节”。前缀意味着INI语法中没有特定的内容,它只是一种用不通过嵌套支持它的语言创建这种结构的方法。