我有一个字符串:
1,a,2,b,3,c etc
我想将其转换为一对向量:
std::vector<std::pair<int, QString> > myVector;
1 是 int,a 是字符串,2 是下一个 int,b 是下一个字符串,依此类推。
谢谢
int main()
{
QString foo = "1,a,2,b,3,c";
QStringList splits = foo.split(',');
assert(splits.size() % 2 == 0); // check if even
qDebug() << splits;
std::vector< std::pair<int, QString> > vs;
for(QStringList::const_iterator it = splits.begin();
it != splits.end(); ++it) {
bool ok;
QStringList::const_iterator tmp = it;
++it;
vs.push_back(std::make_pair(tmp->toInt(&ok, 10), *it));
assert(ok); // check if conversion worked
}
return 0;
}