FFLUSH

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

fflush - ストリームの内容を強制的に出力(フラッシュ)する  

書式

#include <stdio.h>

int fflush(FILE *stream);  

説明

出力ストリームに関しては、 fflush() は、ユーザー空間でバッファーリングされているすべてのデータを 指定された出力に書き出す (フラッシュする)、 もしくはストリーム stream の下位にある書き込み関数を用いてこのストリームを更新する。

seek 可能なファイルに関連付けられた入力ストリーム (ディスクファイルは seek 可能だが、 パイプや端末は seek できない) に関しては、 fflush() は、対応するファイルから取得されたが、アプリケーションからは 読み出されていないバッファーデータを全て破棄する。

ストリームは開いた状態のままであり、 この関数によって何の影響も受けない。

stream 引数が NULL ならば、 fflush() は開いているすべての出力ストリームをフラッシュする。

これらの処理をロックせずに行いたいときは、 unlocked_stdio(3) を参照のこと。  

返り値

成功すると 0 が返される。 その他の場合には EOF が返され、 errno が、エラーに対応した値に設定される。  

エラー

EBADF
stream は開いているストリームではない。 あるいはストリームは書き込み用ではない。

fflush() 関数は write(2) に関して規定されているエラーで失敗することもある。 この場合 errno もその値に設定される。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
fflush() Thread safety MT-Safe
 

準拠

C89, C99, POSIX.1-2001, POSIX.1-2008.

POSIX.1-2001 では入力ストリームのフラッシュの動作は規定されていなかったが、 POSIX.1-2008 では規定されている。  

注意

fflush() は、 C ライブラリが与えているユーザー空間のバッファーしかフラッシュしない。 データが物理的にディスクに保存されることを保証したければ、 カーネルバッファーもフラッシュしなければならない。 これには例えば sync(2) や fsync(2) を用いる。  

関連項目

fsync(2), sync(2), write(2), fclose(3), fileno(3), fopen(3), setbuf(3), unlocked_stdio(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

ストリーム   フラッシュ   バッファー   stdio   seek   規定   fflush   空間   ディスク   強制的   リング   下位   関連   パイプ   端末   アプリケーション   破棄   影響   ロック   成功   用語   allbox   インターフェース   属性   Thread

Linux マニュアル 一覧

関連するコマンド・関数

fclose.3   fcloseall.3   stderr.3   stdin.3   stdout.3   stdio.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:12 GMT, October 11, 2026