Scroll to navigation

FCLOSE(3) Linux Programmer's Manual FCLOSE(3)

名前

fclose - ストリームを閉じる

書式

#include <stdio.h>

int fclose(FILE *stream);

説明

fclose() 関数は、 stream が指すストリームを (バッファーリングされて いた全ての出力データを fflush(3) を用いて書き込んで) フラッシュし、 対応するファイルディスクリプターをクローズする。

返り値

関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には EOF が返され、 errno がエラーを示すために設定される。 どちらの場合も、そのストリームに対する (fclose() へのさらなる呼び出しを含む) それ以上のアクセスは 未定義の動作を生じさせる。

エラー

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

2016-12-12 GNU