setbuf() - C語言庫函式


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