Manpages

NAME

fflush - 刷 新 一 個 流

SYNOPSIS 總 覽

#include <stdio.h>

int fflush(FILE *stream);

DESCRIPTION 描 述

函 數 fflush 強 制 在 所 給 的 輸 出 流 或 更 新 流 stream 上 , 寫 入 在 用 戶 空 間 緩 衝 的 所 有 數 據 , 使 用 流 的 底 層 寫 功 能 函 數 。 流 的 打 開 狀 態 不 受 影 響 。 如 果 參 數 streamNULL, fflush 刷 新 所 有 打 開 的 流 。 要 使 用 非 鎖 定 的 對 應 版 本 , 參 見 unlocked_stdio(3)

RETURN VALUE 返 回 值

成 功 執 行 返 回 0, 否 則 返 回 EOF 並 設 置 全 局 變 量 errno 來 指 示 錯 誤 發 生 。

ERRORS

EBADF

Stream 不 是 一 個 打 開 的 流 , 或 者 不 是 用 於 輸 出 。

函 數 fflush 也 可 能 失 敗 並 置 errnowrite(2) 指 定 的 值 。

NOTES 要 點

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

CONFORMING TO 標 準 參 考

函 數 fflush() 遵 循 ANSI X3.159-1989 (’’ANSI C’’) 標 準 。

SEE ALSO 參 見

fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)

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