fclose - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
fclose - ストリームを閉じる
書式
#include <stdio.h>
int fclose(FILE *
fp
);
説明
fclose ()関数は fp で指されるストリームを (バッファリングされていた全ての出力データを fflush (3) を用いて書き込んで) フラッシュし、 その基となるファイルディスクリプタをクローズする。
返り値
関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には EOF が返され、大域変数 errno がエラーを示すために設定される。 どちらの場合も、そのストリームに対する ( fclose ()へのさらなる呼び出しを含む) それ以上のアクセスは 未定義の動作を生じさせる。
エラー
- EBADF
-
fp
の基となるファイルディスクリプタが不正である。
fclose ()関数はこれ以外にも close (2), write (2), fflush (3) のルーチンで失敗することがある。その場合は errno が、失敗したルーチンで設定された値に設定される。
注意
fclose ()は C ライブラリで提供されたユーザー空間バッファをフラッシュするだけで ある点に注意すること。 データを確実に物理的にディスクに記録するためには カーネルバッファも ( sync (2)や fsync (2) を用いて) フラッシュしなければならない。
準拠
C89, C99.