-4

我有一个字符串:

1,a,2,b,3,c etc

我想将其转换为一对向量:

std::vector<std::pair<int, QString> > myVector;

1 是 int,a 是字符串,2 是下一个 int,b 是下一个字符串,依此类推。

谢谢

4

1 回答 1

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;
}
于 2012-12-12T17:57:06.823 回答