在QT中反转文本文件

时间:2012-02-28 17:46:42

标签: qt reverse writing qfile

如何以逐字符串的相反顺序实现对QFile的写入更好。 使用seek(0)时,新字符串将被写入旧字符串。

2 个答案:

答案 0 :(得分:2)

您应该使用QStack的QString。由于它是一个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
}

希望能回答你的问题。

答案 1 :(得分:0)

阅读所有文件。将其保存到内存中的QStrings向量中。通过向量反转所有字符串并将此向量再次保存到文件中。