Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
fclose - ストリームを閉じる
書式
#include <stdio.h> int fclose(FILE *stream);
説明
fclose() 関数は、 stream が指すストリームを (バッファーリングされて いた全ての出力データを fflush(3) を用いて書き込んで) フラッシュし、 対応するファイルディスクリプターをクローズす る。
返り値
関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には EOF が返され、 errno が エラーを示すために設定される。 どちらの場合も、そのストリームに対する (fclose() へのさら なる呼び出しを含む) それ以上のアクセスは 未定義の動作を生じさせる。
エラー
EBADF stream の基となるファイルディスクリプターが不正である。 fclose() 関数はこれ以外にも close(2), write(2), fflush(3) のルーチンで失敗することがあ る。その場合は errno が、失敗したルーチンで設定された値に設定される。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │fclose() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001, POSIX.1-2008, C89, C99.
注意
fclose() は C ライブラリで提供されたユーザー空間バッファーだけをフラッシュする点に注意す ること。 データを確実に物理的にディスクに記録するためには カーネルバッファーも (sync(2) や fsync(2) を用いて) フラッシュしなければならない。
関連項目
close(2), fcloseall(3), fflush(3), fileno(3), fopen(3), setbuf(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。