fclose または fflush サブルーチン

目的

ストリームをクローズまたはフラッシュします。

ライブラリー

標準 C ライブラリー (libc.a)

構文

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

説明

フクローズ サブルーチンは、バッファーに入れられたデータを ストリーム パラメーターで指定されたストリームに書き込んでから、そのストリームをクローズします。 出口 サブルーチンが呼び出されると、すべてのオープン・ファイルに対して フクローズ サブルーチンが自動的に呼び出されます。

フルーシュ サブルーチンは、 ストリーム パラメーターで指定されたストリームのバッファー・データを書き込み、ストリームをオープンしたままにします。 フルーシュ サブルーチンは、st_ctimeおよびst_mtime更新のための基礎となるファイルのフィールド。

ストリーム パラメーターが NULL ポインターの場合、 フルーシュ サブルーチンは、動作が定義されているすべてのストリームに対してこのフラッシュ・アクションを実行します。

パラメーター

項目 説明
stream 出力ストリームを指定します。

戻り値

正常終了すると、 フクローズ および フルーシュ サブルーチンは値 0 を戻します。 それ以外の場合は、EOF の値が戻されます。

エラー・コード

フクローズ および フルーシュ サブルーチンが失敗すると、 エラー番号 グローバル変数を介して以下のエラーが戻されます。

項目 説明
EAGAIN O_NONBLOCK または O_NDELAY フラグは、 Stream パラメーターの基礎となるファイル記述子に対して設定され、プロセスは書き込み操作で遅延します。
EBADF ストリーム の基礎となるファイル記述子が無効です。
EFBIG プロセスのファイル・サイズ制限または最大ファイル・サイズを超えるファイルを書き込もうとしました。 ulimit サブルーチンを参照してください。
EFBIG ファイルが通常のファイルであり、対応するストリームに関連したオフセット最大値以上の位置に書き込もうとしました。
EINTR フルーシュ サブルーチンがシグナルによって割り込まれました。
EIO このプロセスは、バックグラウンド・プロセス・グループのメンバーであり、その制御端末に書き込もうとしています。 停止 シグナルが設定されています。このプロセスは、 SIGTTOU (S) シグナルを無視することもブロックすることもなく、このプロセスのプロセス・グループは孤立しています。 このエラーは、インプリメンテーションに依存する条件下でも戻されることがあります。
ENOMEM 基礎となるストリームが open_memstream () または open_wmemstream () によって作成されました。 使用可能なメモリーが不足しています。
ENOSPC ファイルが入っている装置または fmemopen () によって使用されるバッファーにフリー・スペースが残っていない。 機能。
EPIPE プロセスによる読み取りのためにオープンされていないパイプまたは FIFO への書き込みが試行されました。 シGPIPE シグナルがプロセスに送信されます。
ENXIO 要求が存在しない装置で作成されたか、要求が装置の機能外でした。