setbuf, setvbuf - ストリームバッファの設定

【書式】

#include <stdio.h>

void setbuf(FILE *fp, char *buf);

int setvbuf(FILE *fp, char *buf, int type, size_t size);

【解説】

setbuf(), setvbuf()はファイルポインタfpのストリームバッファを設定し

ます。

setbuf()は、bufはBUFSIZバイトの大きさをもっているとみなし、 それをバ

ッファ領域として使用します(BUFSIZは<stdio.h>で定義されています)。buf

がNULLのときは、バッファリングなしで入出力をおこないます。

setvbuf() は、bufはsizeバイトの大きさをもっているとみなします。bufが

NULLのときは、 size バイトの大きさのバッファが自動的に割り当てられま

す。typeが_IOFBFのときはバッファを使用しますが、_IONBFのときはバッフ

ァなしで入出力をおこないます。

【リターン値】

setvbuf()は成功すると0を返します。失敗すると0以外の値を返します。

【可搬性】

ANSI, UNIX, DOS窓

【バグ】

_IOLBF(ラインバッファリング)はサポートしていません。

本ライブラリのインプリメント上の制限により、 setvbuf()で設定できるバ

ッファの大きさは最大でも32767バイトです。

【copyright (c) 安江正樹@東海大学理学部物理学科】