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).
CONFORMING TO 標 準 參 考
函 數 fclose 遵 循 ANSI X3.159-1989 (’’ANSI C’’) 標 準 。
SEE ALSO 參 見
close(2), fcloseall(3), fflush(3), fopen(3), setbuf(3)
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh