Arch manual pages

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

fclose - 關閉流

#include <stdio.h>

int fclose(FILE *stream);

函數 fclose 將名爲 stream 的流與它底層關聯的文件或功能集合斷開。如果流曾用作輸出,任何緩衝的數據都將首先被寫入,使用 fflush(3)

成功執行返回 0,否則返回 EOF 並設置全局變量 errno 來指示錯誤發生。任何一種情況下,對流再進行存取 (包括再次調用 fclose()) 都會帶來未定義的結果。

EBADF
stream 底層的文件描述符是無效的。

函數 fclose 也可能失敗並置 errnoclose(2), write(2)fflush(3) 指定的值。

注意 fclose 僅僅刷新用戶空間的由 C 庫提供的緩衝。要保證數據被物理地存儲到磁盤上,必須也刷新內核緩衝。例如,使用 sync(2)fsync(2).

函數 fclose 遵循 ANSI X3.159-1989 (``ANSI C'') 標準。

close(2), fcloseall(3), fflush(3), fopen(3), setbuf(3)

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
1993-11-29 BSD MANPAGE