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/ に書かれている。

関連キーワード

ストリーム, fflush, FFLUSH, フラッシュ, 出力, stream, エラー, 規定, データ, 関数

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

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

This document was created by man2html, using the manual pages.
Time: 12:08:39 GMT, June 11, 2022