0
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() 中的数据而不是上面的语句显示在这个例子。

4

1 回答 1

2

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

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

另请参阅https://doc.qt.io/qt-5/qtextstream.html#details中的操纵器函数列表

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

于 2019-11-23T09:33:20.283 回答