Latest web development tutorials

C 庫函數– fflush()

C 標準庫 - <stdio.h> C標準庫- <stdio.h>

描述

C庫函數int fflush(FILE *stream)刷新流stream的輸出緩衝區。

聲明

下面是fflush() 函數的聲明。

int fflush(FILE *stream)

參數

  • stream --這是指向FILE對象的指針,該FILE對象指定了一個緩衝流。

返回值

如果成功,該函數返回零值。 如果發生錯誤,則返回EOF,且設置錯誤標識符(即feof)。

實例

下面的實例演示了fflush() 函數的用法。

#include <stdio.h>
#include <string.h>

int main()
{

   char buff[1024];

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

   fprintf(stdout, "启用全缓冲\n");
   setvbuf(stdout, buff, _IOFBF, 1024);

   fprintf(stdout, "这里是 w3cschool.cc\n");
   fprintf(stdout, "该输出将保存到 buff\n");
   fflush( stdout );

   fprintf(stdout, "这将在编程时出现\n");
   fprintf(stdout, "最后休眠五秒钟\n");

   sleep(5);

   return(0);
}

讓我們編譯並運行上面的程序,這將產生以下結果。 在這裡,程序把緩衝輸出保存到buff ,直到首次調用fflush()為止,然後開始緩衝輸出,最後休眠5秒鐘。 它會在程序結束之前,發送剩餘的輸出到STDOUT。

启用全缓冲
这里是 w3cschool.cc
该输出将保存到 buff
这将在编程时出现
最后休眠五秒钟

C 標準庫 - <stdio.h> C標準庫- <stdio.h>