2017-08-13 136 views
-3

我最近一直在嘗試使用TinyXML2來讀取/寫入XML文件,但是我遇到了一個問題。我想讀取一個整數數組,我從另一個程序導出並加載,但TinyXML將不讀取整數數組,我不能將常量字符指針轉換爲整數。由分隔符分割字符串

我想分開逗號分隔值並將它們存儲在一個數組中。

我的代碼如下。

int GetMapData (const char* XMLFile) { 
     int mapdata[1]; 
     XMLDocument File; 
     File.LoadFile(XMLFile); 
     const char* data = File.FirstChildElement("map")->FirstChildElement("layer")->FirstChildElement("data")->GetText(); 
} 
+0

使用atoi()將字符串轉換爲整數。 –

+0

您需要解析字符串內容。你怎麼做取決於它的格式。 – molbdnilo

+0

@Michael永遠不要使用atoi()做任何事情。 –

回答

1

用逗號

#include <sstream> 

// ... 

char const *ss = "1, 2, 3, 4"; // this come from the FirstChildElement method in your case. 
istringstream buffer(ss); 
int value1, value2, value3, value4; 
char c; 
buffer >> value1 >> c >> value2 >> c >> value3 >> c >> value4; 
cout << value1 << "-" << value2 << "-" << value3 << "-" << value4 << endl; 

output: 
1-2-3-4 

更新你在找這樣的事情?

當然你必須打磨它,但它應該給出這個想法。 Kasper

+0

是的,但類似但值由逗號分隔,我希望它存儲到一個數組。謝謝,我會盡量修改代碼。 –