写一个新的文字不丢失之前的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
。
如何在不丢失先前值的情况下写入新文本
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
。