Qt QFile仅在secont时间覆盖

Qt QFile仅在secont时间覆盖,qt,qfile,Qt,Qfile,代码可以在下面找到 QFile *fd = new QFile(); fd->setFileName("TEST.txt"); fd->open(QIODevice::ReadWrite); if(fd->exists() == true){ ui->textEdit->append("OK");} ui->textEdit->append(QString::number(fd->write("Additional string"))); 在te

代码可以在下面找到

QFile *fd = new QFile();
fd->setFileName("TEST.txt");
fd->open(QIODevice::ReadWrite);
if(fd->exists() == true){
ui->textEdit->append("OK");}
ui->textEdit->append(QString::number(fd->write("Additional string")));

在textEdit canvas,我收到了写入字符的计数,但它没有出现在文件中。在第二次调用fd->write(…)后,一切正常,但为什么只在第二次调用?

文件会被缓冲,执行
写入操作并不一定意味着数据会在磁盘上结束。要将所有数据写入文件,您需要执行以下任一操作:

  • flush()
    文件,或
  • close()
    文件,或
  • 销毁
    QFile
    实例(此处通过删除
    fd

  • 文件是缓冲的,执行
    写入操作并不一定意味着数据将在磁盘上结束。要将所有数据写入文件,您需要执行以下任一操作:

  • flush()
    文件,或
  • close()
    文件,或
  • 销毁
    QFile
    实例(此处通过删除
    fd

  • 你的代码应该做什么?你的代码应该做什么?