C 庫函數 - fflush()
描述
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 這將在編程時出現 最後休眠五秒鐘