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