Как я могу написать новый текст без потери предыдущего значения
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::Append
когда ты open()
файл.
mFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)
Кроме того, если вы хотите, чтобы каждое добавление находилось в новой строке, вам нужно будет вставить \n
также.
Вы открываете файл с QIODevice::WriteOnly
что бы начать писать … ну с самого начала, вам нужно открыть его с QIODevice::Append