矢量到字符串到逗号字符串

Vector to String to Comma String?

本文关键字:字符串      更新时间:2023-10-16
QString line = "";
std::vector<std::pair<int, QString> >::iterator it = recordingArray.begin();
while(it != recordingArray.end())
{
  line.append(*it);
  line.append(',');
}

上面循环出一个向量。我需要将这对的每个部分转换为字符串,然后将其添加到"行"中。

我该怎么做?

我会使用std::stringstream,然后将其转换为QString

std::stringstream ss;
std::vector<std::pair<int, QString> >::iterator it = recordingArray.begin();
for(; it != recordingArray.end(); ++it)
{
  ss << it->first << ' ' << it->second.toStdString() << ',';
}
QString line = QString::fromStdString(ss.str());

编辑:我不确定QString重载operator<<(std::ostream &out, const QString &qs),因此似乎有必要额外转换为std::string