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(',');
}
上記はベクトルをループアウトします。ペアの各部分を文字列に変換してから、「行」に追加する必要があります。
これどうやってするの?
を使用し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
必要なようです。