我正在尝试编写一个程序,该程序将创建一个文本文件并写入从串行端口读取的字符流。我只是想了解如何获得代码来连续写入数据,而不覆盖以前写入的数据,因为我需要它来保持每个字符的发送。我写这段代码是为了测试,但我无法让它持续地写文本。它写一次,然后停止。
#include <QFile>
#include <QTextStream>
int main() {
int test = 0;
while(test < 2){
QString filename = "Data.txt";
QFile file(filename);
if (file.open(QIODevice::ReadWrite)) {
QTextStream stream(&file);
stream << "one thing to test" << endl;
test++;
}
}
}
有人有什么建议吗?
-感谢
默认情况下,使用QIODevice::ReadWrite
打开会在写入时截断文件。根据文档,QIODevice::Append
将在文件末尾打开文件进行写入。
如果您真的想同时读写,可以在写之前将QIODevice::seek()
拖到文件的末尾。