QString line = "";
std::vector<std::pair<int, QString> >::iterator it = recordingArray.begin();
while(it != recordingArray.end())
{
line.append(*it);
line.append(',');
}
以上循环出一个向量。我需要将这一对的每一部分转换为一个字符串,然后将其添加到“行”中。
我怎样才能做到这一点?
QString line = "";
std::vector<std::pair<int, QString> >::iterator it = recordingArray.begin();
while(it != recordingArray.end())
{
line.append(*it);
line.append(',');
}
以上循环出一个向量。我需要将这一对的每一部分转换为一个字符串,然后将其添加到“行”中。
我怎样才能做到这一点?
我会使用 a std::stringstream
,然后将其转换为 aQString
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