C 库函数 - fflush()

描述

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

声明

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

  1. int fflush(FILE *stream)

参数

  • stream — 这是指向 FILE 对象的指针,该 FILE 对象指定了一个缓冲流。

返回值

如果成功,该函数返回零值。如果发生错误,则返回 EOF,且设置错误标识符(即 feof)。

实例

下面的实例演示了 fflush() 函数的用法。

实例

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char buff[1024];
  6. memset( buff, '\0', sizeof( buff ));
  7. fprintf(stdout, "启用全缓冲\n");
  8. setvbuf(stdout, buff, _IOFBF, 1024);
  9. fprintf(stdout, "这里是 jishuchi.com\n");
  10. fprintf(stdout, "该输出将保存到 buff\n");
  11. fflush( stdout );
  12. fprintf(stdout, "这将在编程时出现\n");
  13. fprintf(stdout, "最后休眠五秒钟\n");
  14. sleep(5);
  15. return(0);
  16. }

让我们编译并运行上面的程序,这将产生以下结果。在这里,程序把缓冲输出保存到 buff,直到首次调用 fflush() 为止,然后开始缓冲输出,最后休眠 5 秒钟。它会在程序结束之前,发送剩余的输出到 STDOUT。

  1. 启用全缓冲
  2. 这里是 jishuchi.com
  3. 该输出将保存到 buff
  4. 这将在编程时出现
  5. 最后休眠五秒钟