機能 |
ストリームのバッファの方法を設定することを表す。 |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
定義 |
#include <stdio.h> int setvbuf ( FILE * stream, char * buf, int mode, size_t size ); ※C99規格では以下の定義となる int setvbuf ( FILE * restrict stream, char * restrict buf, int mode, size_t size ); |
||||||||||||||||
引数 |
|
||||||||||||||||
戻り値 |
成功した場合は、0 を返す。 失敗した場合は、0以外を返す。 |
||||||||||||||||
実装例 |
#include <stdio.h> int main(void) { char buf[ BUFSIZ ]; /* 標準出力を完全バッファリングする */ setvbuf( stdout, buf, _IOFBF, BUFSIZ ); printf("Hello"); /* バッファに蓄積される */ printf(" World.\n"); /* バッファに蓄積される */ /* 標準出力を行バッファリングする */ setvbuf( stdout, buf, _IOLBF, BUFSIZ ); printf("Hello"); /* バッファに蓄積される */ printf(" World.\n"); /* 改行を契機に画面に出力される */ /* 標準出力を非バッファリングする */ setvbuf( stdout, NULL, _IONBF, 0 ); printf("Hello"); /* 画面に出力される */ printf(" World.\n"); /* 画面に出力される */ setvbuf( stdout, NULL, _IOFBF, BUFSIZ ); /* バッファを自動確保する */ return 0; } |
||||||||||||||||
実行結果 |
Hello World. Hello World. Hello World. |
setvbuf()