由分隔符分割字符串
问题描述:
我最近一直在尝试使用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();
}
答
用逗号
#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
是的,但类似但值由逗号分隔,我希望它存储到一个数组。谢谢,我会尽量修改代码。 –
使用atoi()将字符串转换为整数。 –
您需要解析字符串内容。你怎么做取决于它的格式。 – molbdnilo
@Michael永远不要使用atoi()做任何事情。 –