位置:首页 > 高级语言 > C语言标准库 > fflush() - C库函数

fflush() - C库函数

C库函数 int fflush(FILE *stream)流刷新输出缓冲区。 

声明

以下是fflush() 函数的声明。

int fflush(FILE *stream)

参数

  • stream -- 这是一个文件对象,它指定了一个缓冲的流指针。

返回值

这个函数返回零值成功。如果出现错误,则返回EOF并设置错误指示灯(即feof)。

例子

下面的例子显示  fflush() 函数的用法。

#include <stdio.h>

int main()
{

   char buff[1024];

   memset( buff, '\0', sizeof( buff ));

   fprintf(stdout, "Going to set full buffering on
");
   setvbuf(stdout, buff, _IOFBF, 1024);

   fprintf(stdout, "This is gitbook.net
");
   fprintf(stdout, "This output will go into buff
");
   fflush( stdout );

   fprintf(stdout, "and this will appear when programm
");
   fprintf(stdout, "will come after sleeping 5 seconds
");

   sleep(5);

   return(0);
}

让我们编译和运行上面的程序,这将产生以下结果。在这里,程序保持缓冲到输出 buff,直到它面临的第一次调用到 fflush()后,再次开始缓冲输出,,并最终睡5秒钟。发送剩余的输出到标准输出之前。 

Going to set full buffering on
This is gitbook.net
This output will go into buff
and this will appear when programm
will come after sleeping 5 seconds