我有一个字符串:
1,a,2,b,3,c etc
我想将其转换为配对矢量:
std::vector<std::pair<int, QString> > myVector;
1为int,a为字符串,2为下一个int,b为下一个字符串等。
由于
答案 0 :(得分:1)
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;
}