FFLUSH
Section: Linux Programmer's Manual (3)
Updated: 2009-09-06
Index
JM Home Page
roff page
名前
fflush - ストリームの内容を強制的に出力(フラッシュ)する
書式
#include <stdio.h>
int fflush(FILE *stream);
説明
出力ストリームに関しては、
fflush()
は、ユーザー空間でバッファリングされているすべてのデータを
指定された出力に書き出す (フラッシュする)、
もしくはストリーム
stream
の下位にある書き込み関数を用いてこのストリームを更新する。
入力ストリームに関しては、
fflush()
は、対応するファイルから取得されたが、アプリケーションからは
読み出されていないバッファデータを全て破棄する。
ストリームは開いた状態のままであり、
この関数によって何の影響も受けない。
stream
引数が .BR NULL ならば、
fflush()
は開いているすべての出力ストリームをフラッシュする。
これらの処理をロックせずに行いたいときは、
unlocked_stdio(3)
を参照のこと。
返り値
成功すると 0 が返される。
その他の場合には
EOF
が返され、
errno
が、エラーに対応した値に設定される。
エラー
- EBADF
-
Stream
は開いているストリームではない。
あるいはストリームは書き込み用ではない。
fflush()
関数は
write(2)
に関して規定されているエラーで失敗することもある。
この場合
errno
もその値に設定される。
準拠
C89, C99, POSIX.1-2001, POSIX.1-2008.
標準では、入力ストリームに対する動作は規定されていない。
他のほとんどの実装は Linux と同じ動作をする。
注意
fflush()
は、 C ライブラリが与えているユーザー空間のバッファしかフラッシュしない。
データが物理的にディスクに保存されることを保証したければ、
カーネルバッファもフラッシュしなければならない。
これには例えば
sync(2)
や
fsync(2)
を用いる。
関連項目
fsync(2),
sync(2),
write(2),
fclose(3),
fopen(3),
setbuf(3),
unlocked_stdio(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 03:26:41 GMT, April 25, 2010