有没有办法使用boost :: property :: ptree?
在ini文件中写注释类似的东西:
void save_ini(const std::string& path)
{
boost::property_tree::ptree pt;
int first_value = 1;
int second_value = 2;
// Write a comment to describe what the first_value is here
pt.put("something.first_value", );
// Write a second comment here
pt.put("something.second_value", second_value);
boost::property_tree::write_ini(path, pt);
}
文档here没有提供信息。提升实施了吗?
提前致谢
答案 0 :(得分:5)
boost :: property_tree :: ptree用于各种"属性树"类型(INFO,INI,XML,JSON等),因此除了作为允许key =>值设置的花哨容器之外,它本身不支持任何其他内容。你的最后一行(应该是):
boost::property_tree::ini_parser::write_ini(path, pt);
是唯一定义您作为INI而不是其他格式之一的内容。例如,您可以通过写入XML轻松替换该行,它也可以工作。因此,您可以看到property_tree :: ptree不能具有特定类型文件的特定内容。
你能做的最好的事情就是添加一个"评论"为每个孩子设置一个类似的东西:
pt.put("something.comments", "Here are the comments for the 'something' section");
您可以为任何具有您想要名称的孩子提供属性...并且在阅读期间迭代时忽略它们。所以,如果你愿意的话,没有理由不像这样有创意 - 这是你的计划!