0
我試圖讀取一個Xml文件遞歸地使用Tinyxml,但是當我嘗試訪問數據時,我得到一個「分段錯誤」。這裏是代碼:使用Tinyxml的分段錯誤
int id=0, categoria=0;
const char* nombre;
do{
ingrediente = ingrediente->NextSiblingElement("Ingrediente");
contador++;
if(ingrediente->Attribute("id")!=NULL)
id = atoi(ingrediente->Attribute("id"));
if(ingrediente->Attribute("categoria")!=NULL)
categoria = atoi (ingrediente->Attribute("categoria"));
if(ingrediente!=NULL)
nombre = ((ingrediente->FirstChild())->ToText())->Value();
}while(ingrediente);
出於某種原因,這三個「如果」行拋出我的分段錯誤,但我已經不是哪裏出了問題的想法。
在此先感謝。
它看起來像你檢查如果ingrediente!= NULL在第三,如果但不是在前兩個。如果ingrediente真的是空的,那麼前兩個if會拋出一個分段錯誤。你應該用調試器打開它,以確定什麼是NULL。 – Pace 2010-08-14 00:05:12
如果您發佈一個完整的代碼,您會得到一個精確的答案,並且不要忘記使用「代碼」標籤,以便正確格式化。我建議你編輯。 – Poni 2010-08-14 00:18:40
如果你發佈你正在解析的XML的「迷你版本」,你會做得更好。 – Poni 2010-08-14 00:19:46