下面几种情况将导致缓冲区的内容被刷新,即写入到真实的输出设备或者文件:
- 程序正常结束。作为 main 返回工作的一部分,将清空所有输出缓冲区。
- 在一些不确定的时候,缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新。
- 用操纵符显式地刷新缓冲区,例如行结束符 endl。
- 在每次输出操作执行完后,用 unitbuf 操作符设置流的内部状态,从而清空缓冲区。
- 可将输出流与输入流关联(tie)起来。在这种情况下,在读输入流时将刷新其关联的输出缓冲区。
下面几种情况将导致缓冲区的内容被刷新,即写入到真实的输出设备或者文件: