gpt4 book ai didi

c++ - 以文件名为键 boost 属性树

转载 作者:可可西里 更新时间:2023-11-01 15:48:09 25 4
gpt4 key购买 nike

我正在尝试使用文件名作为 boost::PropertyTree 中的键

但是,'.'文件名中的字符(例如“example.txt”)会导致在属性树中添加一个附加层。最明显的解决方案是替换“。”使用另一个字符,但可能有更好的方法来执行此操作,例如使用转义字符。

在下面的示例中,值 10 将被放入节点“txt”中,该节点是“example”的子节点。相反,我希望将值 10 存储在节点“example.txt”中。

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

如何使用单个节点的完整文件名?

预先感谢您的帮助!

最佳答案

只需显式插入树:

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

put 方法只是为了方便而存在,这就是它自动将 . 解析为附加层的原因。像我上面显示的那样显式构造 value_type 可以避免这个问题。

解决该问题的另一种方法是在 putget 中使用额外的参数,这会改变分隔符。

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

郑重声明,我这辈子从来没有用过这个类。我从您链接到的页面上获得了所有这些信息; )

关于c++ - 以文件名为键 boost 属性树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1948745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com