setbuf()
函數用于設置 C 語言程序中某個文件流的緩沖區
#include <stdio.h>
#include <stdlib.h>
int setbuf(FILE *stream, char *buffer, size_t size);
參數說明:
stream
:指向 FILE 對象的指針,該對象表示要設置緩沖區的文件。如果傳入 NULL,則使用標準輸入(stdin)、標準輸出(stdout)或標準錯誤(stderr)作為文件流。buffer
:指向字符數組的指針,該數組用于存儲文件的緩沖內容。如果傳入 NULL,則系統會自動分配一個足夠大的緩沖區。size
:緩沖區的大小(以字節為單位)。如果傳入 0,則系統會自動確定合適的緩沖區大小。示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 設置文件流 stdout 的緩沖區
setbuf(stdout, NULL, 1024);
// 向緩沖區寫入數據
printf("Hello, World!\n");
return 0;
}
在這個示例中,我們將 stdout 的緩沖區大小設置為 1024 字節。當使用 printf() 函數向屏幕輸出數據時,數據會先存儲在緩沖區中,然后在適當的時候一次性寫入到標準輸出設備(通常是顯示器)。