C庫函式 void setbuf(FILE *stream, char *buffer) 定義如何流應該被緩衝。一旦與該流關聯的檔案已經被開啟,但在此之前任何輸入或輸出操作已經發生,應該呼叫該函式。
下面是函式setbuf()函式的宣告。
void setbuf(FILE *stream, char *buffer)
stream -- 這是一個檔案物件標識一個開放的流指標。
buffer -- 這是使用者分配的緩衝區。這應該有一個長度至少為BUFSIZ個位元組,這是此陣列的長度被用來作為一個巨集常數
該函式不返回任何值。
下面的例子顯示了函式setbuf()函式的用法。
#include <stdio.h> int main() { char buf[BUFSIZ]; setbuf(stdout, buf); puts("This is yiibai"); sleep(5); fflush(stdout); return(0); }
讓我們編譯和執行上面的程式,這將產生以下結果。這裡的程式傳送輸出到標準輸出,剛剛才弄出來,否則它保持緩衝輸出。您還可以使用fflush()函式來重新整理輸出。
This is yiibai