2

文字列ごとに逆の順序でQFileへの書き込みを実装する方がよい方法。seek(0)を使用すると、古い文字列の上に新しい文字列が書き込まれます。

4

2 に答える 2

4

QStackQStringのを使用する必要があります。LIFO(後入れ先出し)コンテナなので、探しているものだと思います。

各文字列が来たらプッシュしてから、すべての文字列をポップします。

QStack<QString> stack;
stack.push("first string");
stack.push("second string");
stack.push("third string");

while (!stack.isEmpty())
{
   QString string = stack.pop();
}

編集:(書き込む2つのファイルに関するコメントの新しい情報)

を使用しQvectorてすべてのQStringを保存します。次に、forループで最初と最後の要素にアクセスして、各ファイルに書き込みます。これは次のように実行できます。

QVector<QString> vector;
vector.append("first string");
vector.append("second string");
vector.append("third string");

int size = vector.size();
for (int i=0; i<size; i++)
{
   QString string1 = vector[0]; // write it in one file
   Qstring string2 = vector[size-1-i]; // write it in another file
}

それがあなたの質問に答えることを願っています。

于 2012-02-28T18:03:28.457 に答える
2

すべてのファイルを読み取ります。それをメモリ内のQStringのベクトルに保存します。すべての文字列を逆にしてベクトルを通過し、このベクトルをファイルに再度保存します。

于 2012-02-28T17:50:07.443 に答える