使用 QTextStream 编写问题

Writing Issues With QTextStream

QFile vfile(file);
if(!vfile.open(QIODevice::ReadWrite | QIODevice::Text)) qDebug() << "FILE COULDN NOT BE OPENED";
QTextStream stream(&vfile);

stream << "Hello" << "=";
vfile.write("132");

输出到文件 - 132Hello=

在上面的例子中,我用两种不同的方式写入数据,但是当我看到文件时,我发现了一些这种类型的结果,当使用 "write()" write() 中的数据首先打印出来而不是以上语句在示例中显示。

流数据被缓存一段时间(这通常是写入流的典型情况,例如 stdout 等)。您可以刷新流数据以确保在通过不同的方法写入文件之前将其全部写入。

stream << "Hello=" << flush;
vfile.write("123");

另见 操纵器函数 列表 https://doc.qt.io/qt-5/qtextstream.html#details

写入行尾字符(endln\n)也会刷新流缓冲区。