setbuf
From cppreference.com
| ヘッダー <stdio.h> で定義 |
||
| void setbuf( FILE *stream, char *buffer ); |
(C99まで) | |
| void setbuf( FILE *restrict stream, char *restrict buffer ); |
(C99以降) | |
| #define BUFSIZ /*unspecified*/ |
||
ストリーム操作に使用する内部バッファを設定します。BUFSIZ 文字以上である必要があります。
buffer が NULL でない場合、setvbuf(stream, buffer, _IOFBF, BUFSIZ) と同等です。
buffer が NULL の場合、setvbuf(stream, NULL, _IONBF, 0) と同等であり、バッファリングを無効にします。
目次 |
[編集] パラメータ
| stream | - | バッファを設定するファイルストリーム |
| buffer | - | ストリームが使用するバッファへのポインタ。NULL ポインタが指定された場合、バッファリングは無効になります。 |
[編集] 戻り値
なし。
[編集] 注釈
BUFSIZ が適切なバッファサイズでない場合、setvbuf を使用して変更できます。
setvbuf はエラーを検出するためにも使用されるべきです。setbuf は成功または失敗を示さないためです。
この関数は、stream が開かれたファイルに関連付けられた後、かつ、他の操作(setbuf/setvbuf の呼び出し失敗を除く)の前にのみ使用できます。
一般的なエラーとして、stdin または stdout のバッファを、プログラム終了前にライフタイムが終了する配列に設定することがあります。
[編集] 例
setbuf は、即時出力が必要なストリームのバッファリングを無効にするために使用できます。
このコードを実行
出力
ab
[編集] 参考文献
- C17標準 (ISO/IEC 9899:2018)
- 7.21.5.5 The setbuf function (p: 225)
- C11標準 (ISO/IEC 9899:2011)
- 7.21.5.5 The setbuf function (p: 307-308)
- C99標準 (ISO/IEC 9899:1999)
- 7.19.5.5 The setbuf function (p: 273)
- C89/C90標準 (ISO/IEC 9899:1990)
- 4.9.5.5 The setbuf function
[編集] 関連項目
| ファイルストリームのバッファとそのサイズを設定する (関数) | |
| C++ ドキュメント setbuf
| |