setbuf
|
定義先ヘッダ
<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 | - | ストリームが使用するバッファへのポインタ。ヌルポインタが指定された場合、バッファリングは無効化される |
戻り値
なし。
注記
BUFSIZ が適切なバッファサイズでない場合、 setvbuf を使用して変更することができます。
setvbuf
はエラーの検出にも使用すべきです。なぜなら
setbuf
は成功または失敗を示さないためです。
この関数は、
stream
が開かれたファイルに関連付けられた後、他の操作(失敗した
setbuf
/
setvbuf
の呼び出しを除く)が行われる前にのみ使用できます。
よくあるエラーは、stdinまたはstdoutのバッファを、プログラム終了前に寿命が切れる配列に設定することです:
例
setbuf
は、即時出力が必要なストリームのバッファリングを無効化するために使用できます。
出力:
ab
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.21.5.5 setbuf関数 (p: 225)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.21.5.5 setbuf関数 (p: 307-308)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.19.5.5 setbuf関数 (p: 273)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.9.5.5 setbuf関数
関連項目
|
ファイルストリームのバッファとそのサイズを設定する
(関数) |
|
|
C++ documentation
for
setbuf
|
|