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 zaixian");

   sleep(5);
   fflush(stdout);
   return(0);
}

讓我們編譯和運行上面的程式,這將產生以下結果。這裏的程式發送輸出到標準輸出,剛剛才弄出來,否則它保持緩衝輸出。您還可以使用fflush()函數來刷新輸出。

This is zaixian

上一篇: rewind() - C語言庫函數 下一篇: setvbuf() - C語言庫函數