gpt4 book ai didi

c++ - pugi::next_sibling 返回了一些奇怪的东西

转载 作者:太空宇宙 更新时间:2023-11-04 12:59:09 26 4
gpt4 key购买 nike

我有这样的xml

<w:document>
<w:body>
<w:p>
<abra-cadabra>
<w:t>test</w:t>
</abra-cadabra>
</w:p>
<w:p>
</w:p>
<w:p>
<w:t>test1</w:t>
</w:p>
</w:body>

我使用 pugixml 来解析它。

pugi::xml_node cur_sibling = cur_node.next_sibling();
if (cur_sibling.name() == "")
find_sibling(cur_node.parent());

这里cur_node是测试节点,next_subling结构如下: cur_sibling对不起俄语,它说无法读取内存所以我不能用它做任何事情,并试图得到它的名字导致堆栈 owerflow 错误。不知道发生了什么,为什么它没有返回空节点?

最佳答案

您的测试节点没有next_siblingcur_sibling 是您可以测试的无效 xml_node:

if (!cur_sibling)

如果您查看成员函数的签名:

const char_t* xml_node::name() const

您可以看到它返回的不是字符串,而是 const char_t*。然后,您与运算符 == 的比较就是比较(不同的)地址。

关于c++ - pugi::next_sibling 返回了一些奇怪的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45036922/

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