tinyxml 跨平臺問題

(本文參考新浪博客的一篇文章,苦於轉載不了就複製到我的博客裏來了)
使用tinyxml解析時,在win32下跑的好好的,但是在android真機上會出現問題。卡退。
原來這樣加載:
TiXmlDocument* xmlDoc = new TiXmlDocument("chinamap.xml");
xmlDoc->LoadFile();
    
在win32環境下,可以通過上面的代碼把chinamap.xml讀取到內存,但是在android下面卻讀取失敗了。
估計跟底層有點關係,沒有深入研究,但是可以通過下面的方法來解決這個問題。

unsigned long size;
char *pFileContent = (char*)CCFileUtils::getFileData( "chinamap.xml" , "r", &size);
TiXmlDocument xmlDoc;
xmlDoc.Parse(pFileContent, 0, TIXML_ENCODING_UTF8);

先把文件讀取到一個buff,然後讓tinyxml來解析這個buff,就繞過了讀取文件失敗的bug。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章