-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 に答える