如何在QTextstream的開頭寫入新行?Qt - 在文件開頭重複寫入
我正在追溯一個二叉樹,並將結果寫入日誌文件。我希望根節點成爲列表中的第一行。簡單地追加行會導致相反的順序。我需要做的是在文件頂部添加新行。
下面是什麼我有一個簡單的例子:
QFile mFile("fileName.csv");
QTextStream out(&mFile);
if (!mFile.open(QFile::WriteOnly | QFile::Text)){
qDebug() << " Could not open foundPath file";
return;
}
int cursor = 10;
while (cursor > 0){
out << cursor << "\n";
cursor--;
}
結果顯然是10,9,...,1,但我想1,2,...,10
如何反轉該循環或使用堆棧?或者,如果您事先不知道所有行,只需閱讀整個文件,就可以編寫新行並追加內容。 –
我喜歡Qstack的想法。我現在預先做好所有的行(之前的文件是空的),所以我打算使用它。我認爲使用一串字符串而不是一個單一的大字符串通常是一個更好的主意? – derMax
我想一個大字符串會觸發多次重新分配和複製。具有LIFO訂單的單個容器應該會產生更好的性能。 –