- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试从 Cophir XML 数据中获取一些信息。但是,某些 XML 文件很差,这会导致段错误。
我正在尝试执行并导致错误的代码是:
PhotoComments comments;
XMLElement* commentsElement = doc.FirstChildElement("SapirMMObject")->FirstChildElement( "photo" )->FirstChildElement( "comments" );
const char* numComments = commentsElement->GetText();
if (strcmp(numComments, "0")==0 );
else{
commentsElement = doc.FirstChildElement("SapirMMObject")->FirstChildElement( "photo" )->FirstChildElement( "url" )->NextSiblingElement();
XMLElement* commentElement;
commentElement=commentsElement->FirstChildElement("comment");//This is where the segmentation fault happens.
一个好的 Cophir XML 是:
<SapirMMObject>
<MediaLocator>
<MediaUri>384278731</MediaUri>
</MediaLocator>
<photo id="384278731" secret="70755f9300" server="139" farm="1" dateuploaded="1170990970" isfavorite="0" license="0" rotation="0" originalsecret="70755f9300" originalformat="jpg">
<owner nsid="22343845@N00" username="PeeTNeeT" realname="PeeT NeeT" location=""/>
<title>Long Day</title>
<description>3230</description>
<dates posted="1170990970" taken="2007-02-09 04:16:10" takengranularity="0" lastupdate="1175617119"/>
<comments>4</comments>
<notes/>
<tags><tag id="1514691-384278731-297641" author="22343845@N00" raw="forensic" machine_tag="0">forensic</tag>
<tag id="1514691-384278731-1316" author="22343845@N00" raw="train" machine_tag="0">train</tag>
<tag id="1514691-384278731-6816" author="22343845@N00" raw="transport" machine_tag="0">transport</tag>
<tag id="1514691-384278731-31069" author="22343845@N00" raw="public transport" machine_tag="0">publictransport</tag>
<tag id="1514691-384278731-290" author="22343845@N00" raw="people" machine_tag="0">people</tag>
<tag id="1514691-384278731-4523" author="22343845@N00" raw="metro" machine_tag="0">metro</tag>
<tag id="1514691-384278731-294" author="22343845@N00" raw="bw" machine_tag="0">bw</tag>
<tag id="1514691-384278731-293" author="22343845@N00" raw="black and white" machine_tag="0">blackandwhite</tag>
<tag id="1514691-384278731-1449949" author="22343845@N00" raw="peetneet" machine_tag="0">peetneet</tag>
<tag id="1514691-384278731-536" author="22343845@N00" raw="holland" machine_tag="0">holland</tag></tags>
<url>http://farm1.static.flickr.com/139/384278731_70755f9300.jpg</url><comments photo_id="384278731">
<comment id="1514691-384278731-72157594531874043" author="69513727@N00" authorname="phil uk net" datecreate="1171296514" permalink="http://www.flickr.com/photos/peetneet/384278731/#comment72157594531874043">I don't think she got much sleep the night before.</comment>
<comment id="1514691-384278731-72157594542562354" author="25617742@N00" authorname="ankern" datecreate="1171819505" permalink="http://www.flickr.com/photos/peetneet/384278731/#comment72157594542562354">What a high note! Please add to the 'Spontaneous Opera Syndrome' Pool! <a href="http://www.flickr.com/groups/s-o-s/">www.flickr.com/groups/s-o-s/</a></comment>
<comment id="1514691-384278731-72157600025296602" author="86602256@N00" authorname="serakatie" datecreate="1174812250" permalink="http://www.flickr.com/photos/peetneet/384278731/#comment72157600025296602">I love the yawns.
On the buses I ride, people are always sleeping or yawning. : )</comment>
<comment id="1514691-384278731-72157600045352487" author="67288428@N00" authorname="x35mm" datecreate="1175617118" permalink="http://www.flickr.com/photos/peetneet/384278731/#comment72157600045352487">very good</comment></comments></photo>
<Mpeg7>
<Description type="ContentEntityType">
<MultimediaContent type="ImageType">
<Image>
<VisualDescriptor type="ScalableColorType" numOfBitplanesDiscarded="0" numOfCoeff="64"><Coeff>-169 23 -21 54 -21 14 22 29 -4 13 11 22 -10 14 19 22 -7 1 0 2 -1 5 0 0 -15 2 2 0 -3 5 1 -4 -1 0 0 1 0 0 1 2 1 1 1 3 1 2 4 5 2 0 2 2 2 3 3 0 0 0 0 -2 1 0 -3 -3</Coeff>
</VisualDescriptor>
<VisualDescriptor type="ColorStructureType" colorQuant="2">
<Values>0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 252 225</Values></VisualDescriptor><VisualDescriptor type="ColorLayoutType"><YDCCoeff>17</YDCCoeff><CbDCCoeff>32</CbDCCoeff><CrDCCoeff>32</CrDCCoeff>
<YACCoeff5>18 18 20 10 15</YACCoeff5>
<CbACCoeff2>16 16</CbACCoeff2>
<CrACCoeff2>16 16</CrACCoeff2></VisualDescriptor>
<VisualDescriptor type="EdgeHistogramType"><BinCounts>3 3 6 6 5 4 3 5 7 3 2 3 5 6 6 4 1 2 6 3 4 3 5 5 6 4 2 5 6 5 6 2 3 3 4 6 1 5 4 3 3 3 3 6 2 2 3 5 6 6 5 2 3 7 4 6 0 5 1 3 3 2 7 0 5 3 3 7 4 5 2 6 3 3 4 1 6 1 5 2</BinCounts></VisualDescriptor>
<VisualDescriptor type="HomogeneousTextureType">
<Average>82</Average>
<StandardDeviation>115</StandardDeviation>
<Energy>214 209 189 199 183 184 189 174 198 193 163 156 160 166 173 166 131 137 132 135 171 143 123 117 130 115 185 118 114 112</Energy>
<EnergyDeviation>213 206 187 204 182 178 179 164 193 190 151 147 151 158 159 151 118 135 126 113 170 123 117 114 128 94 166 100 86 97</EnergyDeviation></VisualDescriptor></Image></MultimediaContent></Description></Mpeg7></SapirMMObject>
导致段错误的错误 XML 是(注意注释字段不存在):
<SapirMMObject>
<MediaLocator>
<MediaUri>384160944</MediaUri></MediaLocator>
<photo id="384160944" secret="2b5c802b8f" server="124" farm="1" dateuploaded="1170980327" isfavorite="0" license="0" rotation="0">
<owner nsid="22466016@N00" username="pepelsbey" realname="Vadim Makeev" location="Moscow, Russia"/>
<title>«JavaScript libraries overview» speech</title>
<description>October 28th, first WSG-Russia meeting</description>
<dates posted="1170980327" taken="2007-02-09 03:18:47" takengranularity="0" lastupdate="1180122346"/>
<comments>1</comments>
<notes>
<note id="72157594525441634" author="22466016@N00" authorname="pepelsbey" x="43" y="74" w="50" h="50">Marat Tanalin aka MT
http://mtonly.livejournal.com/</note>
<note id="72157594525441869" author="22466016@N00" authorname="pepelsbey" x="181" y="70" w="50" h="50">Yuriy Artyukh aka Akella
http://cssing.org.ua/</note>
<note id="72157594525442055" author="22466016@N00" authorname="pepelsbey" x="288" y="197" w="50" h="50">Marat Mamyashev aka ninja_127
http://cssblast.ru/</note></notes>
<tags>
<tag id="6771949-384160944-267129" author="22466016@N00" raw="wsg" machine_tag="0">wsg</tag>
<tag id="6771949-384160944-4793" author="22466016@N00" raw="russia" machine_tag="0">russia</tag>
<tag id="6771949-384160944-8327" author="22466016@N00" raw="meeting" machine_tag="0">meeting</tag></tags>
<location latitude="55.692293" longitude="37.483978" accuracy="10">
<locality>Moscow</locality>
<county>Moscow</county>
<region>Moskva</region>
<country>Russia</country></location>
<geoperms ispublic="1" iscontact="0" isfriend="0" isfamily="0"/>
<url>http://farm1.static.flickr.com/124/384160944_2b5c802b8f.jpg</url></photo>
<Mpeg7>
<Description type="ContentEntityType">
<MultimediaContent type="ImageType">
<Image>
<VisualDescriptor type="ScalableColorType" numOfBitplanesDiscarded="0" numOfCoeff="64"><Coeff>79 -33 -53 18 -28 -15 3 19 -16 -7 -3 22 -31 3 -6 12 -7 9 -3 8 -15 4 -10 4 -15 5 1 0 -14 5 -1 0 3 -3 -3 -6 2 -1 1 2 3 -3 0 3 0 1 4 3 -5 -3 2 5 0 6 4 3 -7 0 0 -2 -1 0 -3 -3</Coeff></VisualDescriptor>
<VisualDescriptor type="ColorStructureType" colorQuant="2">
<Values>57 0 0 0 8 0 0 27 121 98 1 2 0 1 0 0 61 26 2 0 0 0 19 11 138 166 90 57 5 6 0 3 71 63 47 32 10 11 4 19 156 148 143 92 64 49 23 30 100 83 59 75 53 43 32 57 193 243 158 127 93 91 86 124</Values></VisualDescriptor>
<VisualDescriptor type="ColorLayoutType">
<YDCCoeff>20</YDCCoeff>
<CbDCCoeff>27</CbDCCoeff>
<CrDCCoeff>36</CrDCCoeff>
<YACCoeff5>16 11 21 6 20</YACCoeff5>
<CbACCoeff2>17 17</CbACCoeff2>
<CrACCoeff2>16 15</CrACCoeff2></VisualDescriptor>
<VisualDescriptor type="EdgeHistogramType"><BinCounts>3 3 4 5 5 2 2 2 4 3 4 3 3 6 5 4 1 5 5 6 3 2 4 4 6 0 2 2 4 4 4 2 3 4 5 3 0 5 2 4 1 6 2 2 4 3 2 2 5 6 1 3 0 2 5 3 2 5 1 4 0 5 3 0 1 3 4 2 6 3 4 5 4 2 3 6 1 3 5 4</BinCounts></VisualDescriptor>
<VisualDescriptor type="HomogeneousTextureType">
<Average>75</Average>
<StandardDeviation>100</StandardDeviation><Energy>176 178 187 188 174 160 175 164 174 178 173 167 159 162 149 161 143 150 153 161 158 165 168 156 192 204 184 182 204 195</Energy>
<EnergyDeviation>183 175 185 185 173 156 169 160 172 174 163 159 147 156 138 147 127 144 138 135 157 144 160 153 170 174 150 162 156 172</EnergyDeviation></VisualDescriptor></Image></MultimediaContent></Description></Mpeg7></SapirMMObject>
我已经研究过,但我发现的只是一些人说“commentElement”会收到一个空指针,这实际上并没有发生。命令“commentElement=commentsElement->FirstChildElement("comment");"直接产生段错误。
最佳答案
问题在前面,你在调用
FirstChildElement( "url" )->NextSiblingElement();
所以你在 url
元素的相同深度请求一个节点,但在它之后。第二个 XML 树在 url 节点之后没有任何兄弟节点,因此根据文档 0
返回:
Calls
NextSibling
andToElement
. Will skip all non-Element nodes. Returns 0 if there is not another element.
因此,在尝试取消引用之前,您应该检查 commentsElement != 0
。
关于c++ - 缺少 XML 文件时 tinyxml2 上的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35538403/
#include using namespace std; class C{ private: int value; public: C(){ value = 0;
这个问题已经有答案了: What is the difference between char a[] = ?string?; and char *p = ?string?;? (8 个回答) 已关闭
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 此帖子已于 8 个月
除了调试之外,是否有任何针对 c、c++ 或 c# 的测试工具,其工作原理类似于将独立函数复制粘贴到某个文本框,然后在其他文本框中输入参数? 最佳答案 也许您会考虑单元测试。我推荐你谷歌测试和谷歌模拟
我想在第二台显示器中移动一个窗口 (HWND)。问题是我尝试了很多方法,例如将分辨率加倍或输入负值,但它永远无法将窗口放在我的第二台显示器上。 关于如何在 C/C++/c# 中执行此操作的任何线索 最
我正在寻找 C/C++/C## 中不同类型 DES 的现有实现。我的运行平台是Windows XP/Vista/7。 我正在尝试编写一个 C# 程序,它将使用 DES 算法进行加密和解密。我需要一些实
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
有没有办法强制将另一个 窗口置于顶部? 不是应用程序的窗口,而是另一个已经在系统上运行的窗口。 (Windows, C/C++/C#) 最佳答案 SetWindowPos(that_window_ha
假设您可以在 C/C++ 或 Csharp 之间做出选择,并且您打算在 Windows 和 Linux 服务器上运行同一服务器的多个实例,那么构建套接字服务器应用程序的最明智选择是什么? 最佳答案 如
你们能告诉我它们之间的区别吗? 顺便问一下,有什么叫C++库或C库的吗? 最佳答案 C++ 标准库 和 C 标准库 是 C++ 和 C 标准定义的库,提供给 C++ 和 C 程序使用。那是那些词的共同
下面的测试代码,我将输出信息放在注释中。我使用的是 gcc 4.8.5 和 Centos 7.2。 #include #include class C { public:
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我的客户将使用名为 annoucement 的结构/类与客户通信。我想我会用 C++ 编写服务器。会有很多不同的类继承annoucement。我的问题是通过网络将这些类发送给客户端 我想也许我应该使用
我在 C# 中有以下函数: public Matrix ConcatDescriptors(IList> descriptors) { int cols = descriptors[0].Co
我有一个项目要编写一个函数来对某些数据执行某些操作。我可以用 C/C++ 编写代码,但我不想与雇主共享该函数的代码。相反,我只想让他有权在他自己的代码中调用该函数。是否可以?我想到了这两种方法 - 在
我使用的是编写糟糕的第 3 方 (C/C++) Api。我从托管代码(C++/CLI)中使用它。有时会出现“访问冲突错误”。这使整个应用程序崩溃。我知道我无法处理这些错误[如果指针访问非法内存位置等,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我有一些 C 代码,将使用 P/Invoke 从 C# 调用。我正在尝试为这个 C 函数定义一个 C# 等效项。 SomeData* DoSomething(); struct SomeData {
这个问题已经有答案了: Why are these constructs using pre and post-increment undefined behavior? (14 个回答) 已关闭 6
我是一名优秀的程序员,十分优秀!