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, "這裏是 xuhuhu.com\n"); fprintf(stdout, "該輸出將保存到 buff\n"); fflush( stdout ); fprintf(stdout, "這將在編程時出現\n"); fprintf(stdout, "最後休眠五秒鐘\n"); sleep(5); return(0); }

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

啟用全緩衝

這裏是 xuhuhu.com
該輸出將保存到 buff
這將在編程時出現
最後休眠五秒鐘

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