_IOFBF | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


_IOFBF 🔗

概要

フルバッファリングを行うことを表す。

ヘッダ

stdio.h

形式

#define _IOFBF 0

置換結果

_IOLBF_IONBF とは異なる何らかの整数値。

詳細

setvbuf関数の第3引数に指定し、フルバッファリングを行うことを表す。フルバッファリングでは、バッファが満杯になったときに、バッファの内容を放出する。

注意
使用例
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    static char stdin_buf[BUFSIZ];
    static char stdout_buf[BUFSIZ];

    if (setvbuf(stdin, stdin_buf, _IOFBF, sizeof(stdin_buf)) != 0) {
        fputs("stdin のバッファリングを変更できませんでした。\n", stderr);
        exit(EXIT_FAILURE);
    }
    if (setvbuf(stdout, stdout_buf, _IOFBF, sizeof(stdout_buf)) != 0) {
        fputs("stdout のバッファリングを変更できませんでした。\n", stderr);
        exit(EXIT_FAILURE);
    }

    char buf[80];
    printf("文字列を入力してください"); // 改行なし
    fgets(buf, sizeof(buf), stdin);
    printf("入力内容:%s\n", buf);
}

実行結果:

Hello  <-- 入力した内容
文字列を入力してください入力内容:Hello
関連

setvbuf関数の第3引数に渡せる値として、他に _IOLBF_IONBF がある。

解説章

第43章


参考リンク 🔗

本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。


更新履歴 🔗

 使用例を本編の解説に合わせた形に修正。
「完全バッファリング」という表記を、本編に合わせて「フルバッファリング」に改めた。

 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る