C 庫函數(shù) - fflush()

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

描述

C 庫函數(shù) int fflush(FILE *stream) 刷新流 stream 的輸出緩沖區(qū)。

聲明

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

int fflush(FILE *stream)

參數(shù)

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

返回值

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

實例

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

#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.cn\n");
   fprintf(stdout, "該輸出將保存到 buff\n");
   fflush( stdout );

   fprintf(stdout, "這將在編程時出現(xiàn)\n");
   fprintf(stdout, "最后休眠五秒鐘\n");

   sleep(5);

   return(0);
}

讓我們編譯并運行上面的程序,這將產(chǎn)生以下結果。在這里,程序把緩沖輸出保存到 buff,直到首次調(diào)用 fflush() 為止,然后開始緩沖輸出,最后休眠 5 秒鐘。它會在程序結束之前,發(fā)送剩余的輸出到 STDOUT。

啟用全緩沖
這里是 w3cschool.cn
該輸出將保存到 buff
這將在編程時出現(xiàn)
最后休眠五秒鐘

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