我想使用的文件名如关键升压:: PropertyTree

然而, ''字在一个文件名,例如“example.txt文件”导致要属性树内加入另外的层。最明显的解决办法是更换'。用其他字符,但有可能是一个更好的方法来做到这一点,如用转义字符。

在下面的例子中,值10将被放于节点“TXT”,“实施例”的子项。相反,我想值10被存储在节点“example.txt中”。

ptree pt;
pt.put("example.txt", 10);

<强>如何可以使用完整的文件名的单个节点吗

在此先感谢您的帮助!

有帮助吗?

解决方案 2

的问题是,文档已经过时。路径类型的对象必须创建如下,与另一个字符被指定为分隔符文件路径无效,如下所示:

pt.put(boost::property_tree::ptree::path_type("example.txt", '|'), 10);

我发现的路径以从升压邮件列表在张贴由Philippe Vaucher新闻组gmane.comp.lib.boost.devel该溶液中。

其他提示

只要插入树明确:

pt.push_back(ptree::value_type("example.txt", ptree(10)));

put方法只是有为了方便起见,这就是为什么它自动解析.作为附加层。构建明确就像我上面显示的VALUE_TYPE避免了这个问题。

要解决的问题的另一种方法是使用在putget一个额外的参数,这改变了定界符。

pt.put('/', "example.txt", "10");
pt.get<string>('/', "example.txt");

有关记录,我以前从来没有在我的生命中使用这个类。我从你链接到页面右侧的所有信息; )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top