精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

C語言 庫函數 setvbuf()

C語言 庫函數 setvbuf()

C語言 標準庫 - <stdio.h>C語言 標準庫 - <stdio.h>

C 庫函數 int setvbuf(FILE *stream, char *buffer, int mode, size_t size) 定義流 stream 應如何緩沖。

 

1. 聲明

下面是 setvbuf() 函數的聲明。

int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

 

2. 參數

  • stream -- 這是指向 FILE 對象的指針,該 FILE 對象標識了一個打開的流。
  • buffer -- 這是分配給用戶的緩沖。如果設置為 NULL,該函數會自動分配一個指定大小的緩沖。
  • mode -- 這指定了文件緩沖的模式:
模式描述
_IOFBF全緩沖:對于輸出,數據在緩沖填滿時被一次性寫入。對于輸入,緩沖會在請求輸入且緩沖為空時被填充。
_IOLBF行緩沖:對于輸出,數據在遇到換行符或者在緩沖填滿時被寫入,具體視情況而定。對于輸入,緩沖會在請求輸入且緩沖為空時被填充,直到遇到下一個換行符。
_IONBF無緩沖:不使用緩沖。每個 I/O 操作都被即時寫入。buffer 和 size 參數被忽略。
  • size --這是緩沖的大小,以字節為單位。

 

3. 返回值

如果成功,則該函數返回 0,否則返回非零值。

 

4. 實例

下面的實例演示了 setvbuf() 函數的用法。

#include <stdio.h>

int main()
{

   char buff[1024];

   memset( buff, '\0', sizeof( buff ));

   fprintf(stdout, "啟用全緩沖\n");
   setvbuf(stdout, buff, _IOFBF, 1024);

   fprintf(stdout, "這里是 w3cschool.cn\n");
   fprintf(stdout, "該輸出將保存到 buff\n");
   fflush( stdout );

   fprintf(stdout, "這將在編程時出現\n");
   fprintf(stdout, "最后休眠五秒鐘\n");

   sleep(5);

   return(0);
}

讓我們編譯并運行上面的程序,這將產生以下結果。在這里,程序把緩沖輸出保存到 buff,直到首次調用 fflush() 為止,然后開始緩沖輸出,最后休眠 5 秒鐘。它會在程序結束之前,發送剩余的輸出到 STDOUT。

啟用全緩沖
這里是 w3cschool.cn
該輸出將保存到 buff
這將在編程時出現
最后休眠五秒鐘

C語言 標準庫 - <stdio.h>C語言 標準庫 - <stdio.h>

下一節:C 庫函數 tmpfile()

C 簡介

相關文章