代码可以在下面找到。
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画布上,我收到了写入字符的计数,但它没有出现在文件中。在第二次调用fd->之后写(...)一切都很好,但为什么只在第二次?
答案 0 :(得分:3)
文件被缓冲,执行write
并不一定意味着数据将最终在磁盘上。要将所有到目前为止写入的数据放入文件中,您需要执行以下任何操作:
flush()
文件或close()
文件或QFile
个实例(此处删除fd
)。