C 教程
C 標(biāo)準(zhǔn)庫(kù) - <stdio.h>
C 庫(kù)函數(shù) int setvbuf(FILE *stream, char *buffer, int mode, size_t size) 定義流 stream 應(yīng)如何緩沖。
下面是 setvbuf() 函數(shù)的聲明。
int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
模式 | 描述 |
---|---|
_IOFBF | 全緩沖:對(duì)于輸出,數(shù)據(jù)在緩沖填滿時(shí)被一次性寫入。對(duì)于輸入,緩沖會(huì)在請(qǐng)求輸入且緩沖為空時(shí)被填充。 |
_IOLBF | 行緩沖:對(duì)于輸出,數(shù)據(jù)在遇到換行符或者在緩沖填滿時(shí)被寫入,具體視情況而定。對(duì)于輸入,緩沖會(huì)在請(qǐng)求輸入且緩沖為空時(shí)被填充,直到遇到下一個(gè)換行符。 |
_IONBF | 無緩沖:不使用緩沖。每個(gè) I/O 操作都被即時(shí)寫入。buffer 和 size 參數(shù)被忽略。 |
如果成功,則該函數(shù)返回 0,否則返回非零值。
下面的實(shí)例演示了 setvbuf() 函數(shù)的用法。
#include <stdio.h> int main() { char buff[1024]; memset( buff, '