位置:首頁 > 高級語言 > 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