我正在阅读http://www.cplusplus.com/reference/cstdio/fflush/,我很好奇这意味着什么。根据该网站说:
如果给定的流打开以进行写入(或者如果它打开以进行更新并且最后一次i / o操作是输出操作),则其输出缓冲区中的任何未写入数据都将写入该文件。
文件的输出缓冲区是什么意思?
答案 0 :(得分:4)
某些流缓冲输出数据,不会立即写入设备。 fflush
强制将流的缓冲区内容(如果有)写入设备并清除缓冲区。
答案 1 :(得分:1)
通常,当要将数据写入文件时,它将存储在称为“缓冲区”的构造中。一旦缓冲区达到某个阈值,缓冲区中存储的所有数据将立即写入文件。
Fflush清空缓冲区并强制将所有更改写入文件。这在写入文件时特别有用,因为最好在关闭文件之前刷新缓冲区(从而确保所有数据都已成功写入文件)。
这适用于其他类型的文件流。