NAME¶
fclose - 關閉流
SYNOPSIS 總覽¶
#include <stdio.h>
int fclose(FILE *stream);
DESCRIPTION 描述¶
函數
fclose 將名為
stream
的流與它底層關聯的檔案或功能集合斷開。如果流曾用作輸出,任何緩沖的數據都將首先被寫入,使用
fflush(3) 。
RETURN VALUE 返回值¶
成功執行返回
0,否則返回
EOF
並設置全局變量
errno
來指示錯誤發生。任何一種情況下,對流再進行存取
(包括再次調用
fclose())
都會帶來未定義的結果。
ERRORS¶
- EBADF
- stream
底層的檔案描述符是無效的。
函數
fclose
也可能失敗並置
errno 為
close(2),
write(2) 或
fflush(3)
指定的值。
NOTES 要點¶
注意
fclose
僅僅刷新使用者空間的由
C
庫提供的緩沖。要保証數據被物理地存儲到磁碟上,必須也刷新核心緩沖。例如,使用
sync(2) 或
fsync(2).
函數
fclose 遵循 ANSI X3.159-1989 (``ANSI C'')
標準。
SEE ALSO 參見¶
close(2),
fcloseall(3),
fflush(3),
fopen(3),
setbuf(3)