gpt4 book ai didi

c++ - 在 Boost Property Tree 1.50 中使用 read_xml() 时使用多个标志

转载 作者:搜寻专家 更新时间:2023-10-31 01:14:15 26 4
gpt4 key购买 nike

所以我找到了此处引用的“ pretty-print ”修整空白标志:boost::property_tree XML pretty printing

我找到了 Boost::Property_Tree 1.50 的 read_xml() 函数的文档: http://www.boost.org/doc/libs/1_50_0/doc/html/boost/property_tree/xml_parser/read_xml_id1073248.html

但我一辈子都想不出如何在读取和写入 XML 时同时启用忽略注释和修剪空白标志!任何帮助将不胜感激。

我认为我的主要问题是函数原型(prototype)。所使用的标志如何转换为整数,就像函数原型(prototype)似乎要求的那样?

最佳答案

您必须使用按位或(竖线字符 |)将标志连接在一起。使用单个参数指定多个标志是一种相当常见的方法。例如:

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>

int main(int argc, char* argv[])
{
ptree pt;
using namespace boost::property_tree::xml_parser; // just to keep the flags nice and short

read_xml("file.xml", pt, trim_whitespace | no_comments);
return 0;
}

关于你的第二个问题,标志被声明为整数。当您执行按位或操作时,表示整数的位将组合在一起以生成具有唯一值的新整数。例如,数字 2 的位(二进制)表示为 00000010,数字 4 的位表示为 00000100(假设您使用 8 位表示整数)。按位或操作比较每个位,如果其中一个为 1 或两个都为 1,则结果为 1。否则为零。在我们的例子中:

  00000010
| 00000100
----------
00000110

这是位表示法中的数字 6。

关于c++ - 在 Boost Property Tree 1.50 中使用 read_xml() 时使用多个标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639623/

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