题
我想使用的文件名如关键升压:: 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避免了这个问题。
要解决的问题的另一种方法是使用在put
和get
一个额外的参数,这改变了定界符。
pt.put('/', "example.txt", "10");
pt.get<string>('/', "example.txt");
有关记录,我以前从来没有在我的生命中使用这个类。我从你链接到页面右侧的所有信息; )
不隶属于 StackOverflow