QT中的反向文本文件写入

QT中的反向文本文件写入,qt,reverse,writing,qfile,Qt,Reverse,Writing,Qfile,如何更好地实现以相反顺序逐个字符串写入QFile。 使用seek(0)时,新字符串将写入旧字符串。读取所有文件。将其保存到内存中的qstring向量中。通过向量反转所有字符串,然后再次将该向量保存到文件。您应该使用QString的一部分。因为这是一个后进先出(后进先出)的容器,我想这就是你要寻找的 按下每个字符串,然后弹出所有字符串: QStack<QString> stack; stack.push("first string"); stack.push("second strin

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

读取所有文件。将其保存到内存中的qstring向量中。通过向量反转所有字符串,然后再次将该向量保存到文件。

您应该使用QString的一部分。因为这是一个后进先出(后进先出)的容器,我想这就是你要寻找的

按下每个字符串,然后弹出所有字符串:

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

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

希望这能回答您的问题。

您是想从头到尾写入文件,还是只想反转文本文件?我需要从头到尾写入文件。我没有这个文件,我有一个数据要写。我认为在FS/OS级别上这实际上是不可能的。您应该先还原数据,然后按顺序写入。最接近于将其向后写入的方法是将其填充到末尾,从结尾到开头查找每个字节,然后逐字节写入。这不是一个好的策略,如果你有足够的内存,你应该把所有的东西都叠起来,然后拆开并把它们都写下来。谢谢。问题是我几乎没有QList。我需要保存这些字符串两次,第一次按直接顺序保存,第二次按相反顺序保存。我想一次写入两个文件,并且不以相反的顺序创建字符串的副本。但是,似乎没有其他方法可以收集一个列表或堆栈中的所有字符串,并以正反顺序读取列表两次……因此您可以使用QVector,因为您可以直接访问元素。请参阅我的编辑。
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
}