2014-04-11 35 views
0

程序有我的C++的問題,我有錯誤,幫我:/錯誤在C++中使用的libxml2

我想看看d:

<svg> 
    <g> 
     <path ***d***="11"/> 
    </g> 
</svg> 

,但我的程序不工作:/

how to read a part of xml file in C++ using Libxml2

代碼在我的答案,UP

錯誤:

/home/praktyka/projects/svgreader/main.cpp:83:38:錯誤:從 '常量字符*' 無效轉換到 'const的XMLCHAR * {又名const的無符號字符*}'[-fpermissive]

/usr/include/libxml/tree.h:1021:3:錯誤:初始化 'XMLCHAR * xmlGetProp(的xmlNodePtr,常量XMLCHAR *)'[-fpermissive]

+0

你有什麼錯誤? – jsantander

+0

顯然這裏他們有答案:http://cboard.cprogramming.com/cplusplus-programming/137194-using-libxml2-invalid-conversion-const-char*-const-xmlchar*-error.html – jsantander

回答

0

從讀取的參數2 here [只是Google搜索]

xmlChar似乎是一個ty pedef到unsigned char。然而一個字符串是一個const char * ... 所以你需要修改你的線是:

if(xmlGetProp(cur_node, (const xmlChar *)"d")) 

發揮它的真正安全(XMLCHAR是UTF8 ...你的字符串可能是不同的東西)。考慮在libXML2中查看相關函數,例如xmlCharStrdup

+0

好的,謝謝編譯但是當我想要啓動程序時,我有「段錯誤」錯誤 – Rafael

+0

@ user3520459嘗試在調試器中運行它。分段故障發生在哪裏? – jsantander

+0

我需要使用「cc -o main -I/usr/include/libxml/main.cpp -lxml2」命令和當我啓動「./main」時使用終端,我有錯誤 – Rafael