setbuf
提供: cppreference.com
ヘッダ <stdio.h> で定義
|
||
void setbuf( FILE *stream, char *buffer ); |
(C99未満) | |
void setbuf( FILE *restrict stream, char *restrict buffer ); |
(C99以上) | |
ストリーム操作のために使用するための内部バッファを設定します。 少なくとも BUFSIZ
文字の長さであるべきです。
buffer
がヌルでない場合は、 setvbuf(stream, buffer, _IOFBF, BUFSIZ) と同等です。
buffer
がヌルの場合は、 setvbuf(stream, NULL, _IONBF, 0) と同等です。 これはバッファリングを無効化します。
目次 |
[編集] 引数
stream | - | バッファを設定するファイルストリーム |
buffer | - | 使用するストリームのためのバッファを指すポインタ。 NULL が指定された場合、バッファリングは無効化されます |
[編集] 戻り値
(なし)
[編集] ノート
BUFSIZ が適切なバッファサイズでない場合は、それを変更するために setvbuf を使用することができます。
setbuf
は成功失敗を示さないため、エラーを検出するためにも setvbuf を使用するべきです。
この関数は stream
が開いているファイルに紐付けられた後、しかしいかなる他の操作も行われる前 (失敗した setbuf/setvbuf
を除く) にのみ、使用することができます。
よくある間違いは、 stdin や stdout のバッファをプログラム終了前に生存期間が終了する配列に設定することです。
[編集] 例
直ちに出力することが求められるストリームのバッファリングを無効化するために setbuf を使用することができます。
Run this code
出力:
ab