如何在不丢失先前值的情况下编写新文本
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 :(得分:0)
您使用QIODevice::WriteOnly
打开文件,该文件将开始编写...从开始,您需要使用QIODevice::Append
答案 1 :(得分:0)
您需要在QIODevice::Append
文件时设置open()
。
mFile.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)
此外,如果您希望每个追加都在新行上,您还必须插入\n
。