Share via


_flushall

刷新所有流;清除所有缓冲区。

int _flushall( void );

返回值

_flushall 返回打开的流(输入和输出)的数量。 无错误返回。

备注

默认情况下, _flushall 函数写入到相应的文件,该文件所有缓冲区的内容与打开的流相关联。 清除与打开输入流相关联的所有缓冲区的当前内容。(这些缓冲区通常由操作系统维护,自动确定最佳时间将数据写入磁盘:当缓冲区已满,当关闭了流,或者当程序正常终止,而无需关闭流时。)

如果读取跟随对 _flushall 调用,则会从输入文件读取新数据到缓冲区中。 在调用 _flushall 之后,所有流保持开启。

运行时库的提交到磁盘的功能,可以确保关键数据直接写入磁盘,而不是操作系统的缓冲区。 无需重写现有的程序,您可以通过链接程序的对象文件与 Commode.obj 启用此功能。 在生成的可执行文件,调用 _flushall 将所有缓冲区的内容写入磁盘中。 只有 _flushall 和 fflush 受 Commode.obj 影响。

有关控制提交到磁盘的功能的信息,请参阅 Stream I/Ofopen_fdopen

要求

功能

必需的标头

_flushall

<stdio.h>

有关更多兼容性信息,请参见“简介”中的兼容性

示例

// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.


#include <stdio.h>

int main( void )
{
   int numflushed;

   numflushed = _flushall();
   printf( "There were %d streams flushed\n", numflushed );
}
  

.NET Framework 等效项

请参见

参考

流 I/O

_commit

fclose、_fcloseall

fflush

setvbuf