kazmax - Linux で自宅サーバー

fflush - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 注意
  7. 準拠
  8. 関連項目

名前

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

書式

#include <stdio.h>
int fflush(FILE * stream );

説明

fflush ()関数は、ユーザー空間でバッファリングされているすべてのデータを 与えられた出力に書き出す (フラッシュする)。 あるいはストリーム stream の下位にある書き込み関数を用いてこのストリームを更新する。 ストリームは開いた状態のままであり、 この関数によって何の影響も受けない。

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

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

返り値

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

エラー

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

fflush ()関数は   write (2) ルーチンで指定されているようなエラーで失敗することもある。 この場合 errno もその値に設定される。

注意

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

準拠

C89, C99.

関連項目