C庫函數(shù) int fflush(FILE *stream)流刷新輸出緩沖區(qū)。
以下是fflush() 函數(shù)的聲明。
int fflush(FILE *stream)
stream -- 這是一個文件對象,它指定了一個緩沖的流指針。
這個函數(shù)返回零值成功。如果出現(xiàn)錯誤,則返回EOF并設置錯誤指示燈(即feof)。
下面的例子顯示 fflush() 函數(shù)的用法。
#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 yiibai.com "); 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); }
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果。在這里,程序保持緩沖到輸出 buff,直到它面臨的第一次調(diào)用到 fflush()后,再次開始緩沖輸出,,并最終睡5秒鐘。發(fā)送剩余的輸出到標準輸出之前。
Going to set full buffering on This is yiibai.com This output will go into buff and this will appear when programm will come after sleeping 5 seconds