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

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

先頭へ戻る

fflush関数

概要 バッファをフラッシュする。
ヘッダ stdio.h
形式 int fflush(FILE* stream);
引数 stream 対象のストリーム。
ヌルポインタを指定すると、現在オープンされているストリームのうち、フラッシュの操作対象として適切な全てのストリームに対してフラッシュを行う。
戻り値 成功したら 0、失敗したら EOF を返す。
詳細 ストリームがバッファリングされている場合、バッファ内に残されているデータを吐き出す(フラッシュする)。
フラッシュによる書き込みの際にエラーが発生した場合、エラー指示子をセットする。エラー指示子の状態は、ferror関数で調べられる。
注意 入力ストリームを対象とする場合の動作は未定義である。
使用例
#include <stdio.h>

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

    /* ラインバッファリングに変更 */
    setvbuf( stdout, stdoutBuf, _IOLBF, sizeof(stdoutBuf) );

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

    return 0;
}

実行結果

文字列を入力して下さいHello
入力内容:Hello
関連 バッファリングの設定は、setbuf関数setvbuf関数で行える。
解説章 第43章


参考リンク



更新履歴

'2018/4/20 「NULL」という表記を「ヌルポインタ」に修正。

'2018/4/7 全体的に文書を見直し修正。

'2018/1/22 新規作成。



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

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

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

Programming Place Plus のトップページへ


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