トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
ストリームに、バッファを設定する。 |
|
ヘッダ | ||
形式 |
int setvbuf(FILE* stream, char* buf, int mode, size_t size); |
|
引数 |
stream |
対象のストリーム。 |
buf |
バッファとして使用する配列を指すポインタ。 |
|
mode |
||
size |
バッファの大きさ。 |
|
戻り値 |
成功したら 0、失敗したら 0以外が返される。 |
|
詳細 |
指定ストリームにバッファを設定する。引数mode に指定した値に応じて、3通りのバッファリングが設定できる。 引数buf に配列を指すポインタを指定すると、その配列をバッファ領域として使用する。この配列は、引数size 以上の大きさを持っていなければならない。 引数buf にヌルポインタを指定した場合は、内部でバッファを確保する。その際の大きさは、引数size の値が使われる。また、そのバッファの状態は不定である。 この関数を呼ぶタイミングは、対象のストリームがオープンされてから、そのストリームに対する何らかの操作が実行されるまでの間でなければならない。 なお、ストリームの種類ごとにデフォルトのバッファリング設定がなされているが、これは環境によって異なる。たとえば、標準出力ストリームはバッファリングされており、標準エラーストリームはバッファリングされていないことが多いが、これも環境依存の可能性がある。こういったデフォルトの設定を変更したい場合に、この関数が使用できる。 |
|
注意 |
引数buf に配列を指定した場合は、対象のストリームを使用している間、その配列が存在し続けなけばならない。 |
|
使用例 |
実行結果:
|
|
関連 |
より単純な setbuf関数がある。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place
管理者に紹介料が支払われています。
(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)「NULL」という表記を「ヌルポインタ」に修正。
全体的に文章を見直し修正。
「サイズ」という表記について表現を統一。 型のサイズ(バイト数)を表しているところは「大きさ」、要素数を表しているところは「要素数」。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |