写一个新的文字不丢失之前的value.in Qt

Write a new text without losing the previous value.in Qt

如何在不丢失先前值的情况下写入新文本

    QString mFilename2 = "bin/bin_2.txt";
File_main_Editor.stWrite(mFilename2,okline_Edit);

void stWrite(QString Filename,QString stringtext){
QFile mFile(Filename);

if(!mFile.open(QIODevice::WriteOnly | QIODevice::Text))
{
    QMessageBox message_file_Write;
    message_file_Write.warning(0,"Open Error"
           ,"could not to open file for Writing");
    return;
}
QTextStream out(&mFile);
out << stringtext;
out.setCodec("UTF-8");

mFile.flush();
mFile.close();
}

每次 okline_Edit 被初始化 调用文件中新值的 stWrite 函数被写入 .txt 之前的值丢失。

或者换句话说

您使用 QIODevice::WriteOnly 打开文件,它将开始写入...从一开始,您需要使用 QIODevice::Append

打开它

open()文件时需要设置QIODevice::Append

mFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)

此外,如果您希望每个追加都在一个新行上,您还必须插入一个 \n