C言語編 標準ライブラリのリファレンス _IOLBF

先頭へ戻る

_IOLBF

概要 ラインバッファリングを行うことを表す。
ヘッダ stdio.h
形式 #define _IOLBF 1
置換結果 _IOFBF_IONBF とは異なる何らかの整数値。
詳細 setvbuf関数の第3引数に指定し、ラインバッファリングを行うことを表す。ラインバッファリングでは、改行文字が現れたタイミングで、バッファの内容を放出する。
注意
使用例
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    static char stdinBuf[BUFSIZ];
    static char stdoutBuf[BUFSIZ];
    char buf[80];

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

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

    return 0;
}

実行結果:

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

関連 setvbuf関数の第3引数に渡せる値として、他に _IOFBF_IONBF がある。
解説章 第43章


参考リンク



更新履歴

'2018/4/3 使用例を本編の解説に合わせた形に修正。
「行バッファリング」という表記を、本編に合わせて「ラインバッファリング」に改めた。

'2018/1/22 新規作成。



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

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

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

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー