Напишите новый текст без потери предыдущего значения. В 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 предыдущее значение теряется.

Или другими словами

введите описание изображения здесь

0

Решение

Вам нужно установить QIODevice::Append когда ты open() файл.

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

Кроме того, если вы хотите, чтобы каждое добавление находилось в новой строке, вам нужно будет вставить \n также.

0

Другие решения

Вы открываете файл с QIODevice::WriteOnly что бы начать писать … ну с самого начала, вам нужно открыть его с QIODevice::Append

0

По вопросам рекламы [email protected]