Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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/ に書かれている。