Ubuntu Manpages

#include <stdio.h>

int fclose(FILE *stream);

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

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

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)