将长串字符写入文本文件QT C ++

时间:2012-07-19 18:43:23

标签: c++ qt text serial-port

我正在尝试编写一个程序,它将创建一个文本文件并编写一个我从串口读取的字符流。我只是想了解如何让代码连续写入数据而不是覆盖以前写入的数据,因为我需要它来保持每个字符的发送。我把这段代码写成了测试,但我不能让它继续写文本。它写一次然后停止。

#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++;
  }
 }
}

有人有任何建议吗?

-Thanks

1 个答案:

答案 0 :(得分:2)

默认情况下,使用QIODevice::ReadWrite打开将在写入时截断文件。根据{{​​3}},QIODevice::Append将打开文件,以便在文件末尾进行写入。

如果你真的想要两者进行读写,那么在写作之前你可以QIODevice::seek()到文件的末尾。