C庫函數(shù) void setbuf(FILE *stream, char *buffer) 定義如何流應(yīng)該被緩沖。一旦與該流關(guān)聯(lián)的文件已經(jīng)被打開,但在此之前任何輸入或輸出操作已經(jīng)發(fā)生,應(yīng)該調(diào)用該函數(shù)。
下面是函數(shù)setbuf()函數(shù)的聲明。
void setbuf(FILE *stream, char *buffer)
stream -- 這是一個文件對象標(biāo)識一個開放的流指針。
buffer -- 這是用戶分配的緩沖區(qū)。這應(yīng)該有一個長度至少為BUFSIZ個字節(jié),這是此數(shù)組的長度被用來作為一個宏常數(shù)
該函數(shù)不返回任何值。
下面的例子顯示了函數(shù)setbuf()函數(shù)的用法。
#include <stdio.h> int main() { char buf[BUFSIZ]; setbuf(stdout, buf); puts("This is yiibai"); sleep(5); fflush(stdout); return(0); }
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果。這里的程序發(fā)送輸出到標(biāo)準(zhǔn)輸出,剛剛才弄出來,否則它保持緩沖輸出。您還可以使用fflush()函數(shù)來刷新輸出。
This is yiibai