下一步:,上一个:,向上:流缓冲  [目录][索引]


12.20.2冲洗缓冲器

冲洗缓冲流上的输出意味着传输所有文件的累积字符数。在很多情况下流上的缓冲输出会自动刷新:

如果要在其他时间刷新缓冲输出,请调用刷新缓冲区,在头文件中声明标准件。小时.

功能:整数 刷新缓冲区 (文件*流动)

初步:|MT-安全|AS不安全损坏|AC-Unsafe锁损坏|请参见POSIX安全概念.

此函数会导致上的任何缓冲输出流动待交付到文件。如果流动是空指针,则刷新缓冲区导致缓冲输出打开全部的开放输出流待冲洗。

此函数返回电动势如果发生写入错误,或为零否则。

功能:整数 fflush_unlocked(解锁) (文件*流动)

初步:|MT-安全竞赛:流|AS-不安全损坏|AC-Unsafe损坏|请参见POSIX安全概念.

这个fflush_unlocked(解锁)函数等价于刷新缓冲区函数,但它不隐式锁定流。

这个刷新缓冲区函数可用于刷新当前的所有流打开。虽然这在某些情况下很有用,但它通常比因为在终端输入为并且程序希望确保所有输出在终端。但这意味着只有行缓冲流必须冲洗。Solaris专门为此引入了一个功能。是的在GNU C库中总是以某种形式提供,但从未正式提供已导出。

功能:空隙 _冲洗 (无效)

初步:|MT-安全|AS-不安全损坏|AC-Unsafe锁损坏|请参见POSIX安全概念.

这个_冲洗函数刷新所有缓存线流当前已打开。

此函数在标准文本.h收割台。

兼容性说明:一些大脑受损的操作系统众所周知,它非常专注于面向线的输入和输出刷新行缓冲流会导致写入换行!幸运的是,这个“功能”似乎越来越不常见了。你知道的使用GNU C库不需要担心这一点。

在某些情况下,不刷新挂起的输出可能很有用如果传输成本很高输出不再需要,这是有效的推理。在这个设置Solaris中引入的非标准函数,该函数在中可用可以使用GNU C库。

功能:空隙 __fppurge(刷新) (文件*流动)

初步:|MT-安全竞赛:流|AS-不安全损坏|AC-Unsafe损坏|请参见POSIX安全概念.

这个__fppurge(刷新)函数导致流的缓冲区流动被清空。如果流当前处于读取模式,则所有缓冲器中的输入丢失。如果流处于输出模式,则缓冲输出未写入设备(或其他任何设备底层存储),并清除缓冲区。

此函数在中声明标准文本.h.


下一步:控制哪种缓冲,上一个:缓冲概念,向上:流缓冲  [目录][索引]