C 標(biāo)準(zhǔn)庫(kù) - <stdio.h>
C 庫(kù)函數(shù) int fflush(FILE *stream) 刷新流 stream 的輸出緩沖區(qū)。
下面是 fflush() 函數(shù)的聲明。
int fflush(FILE *stream)
如果成功,該函數(shù)返回零值。如果發(fā)生錯(cuò)誤,則返回 EOF,且設(shè)置錯(cuò)誤標(biāo)識(shí)符(即 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, "這里是 (cainiaoplus.com)\n"); fprintf(stdout, "該輸出將保存到 buff\n"); fflush( stdout ); fprintf(stdout, "這將在編程時(shí)出現(xiàn)\n"); fprintf(stdout, "最后休眠五秒鐘\n"); sleep(5); return(0); }
讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果。在這里,程序把緩沖輸出保存到 buff,直到首次調(diào)用 fflush() 為止,然后開(kāi)始緩沖輸出,最后休眠 5 秒鐘。它會(huì)在程序結(jié)束之前,發(fā)送剩余的輸出到 STDOUT。
啟用全緩沖 這里是 (cainiaoplus.com) 該輸出將保存到 buff 這將在編程時(shí)出現(xiàn) 最后休眠五秒鐘