NAME
fflush - 刷 新 一 个 流
SYNOPSIS 总 览
#include <stdio.h>
int fflush(FILE *stream);
DESCRIPTION 描 述
函 数 fflush 强 制 在 所 给 的 输 出 流 或 更 新 流 stream 上 , 写 入 在 用 户 空 间 缓 冲 的 所 有 数 据 , 使 用 流 的 底 层 写 功 能 函 数 。 流 的 打 开 状 态 不 受 影 响 。 如 果 参 数 stream 是 NULL, fflush 刷 新 所 有 打 开 的 流 。 要 使 用 非 锁 定 的 对 应 版 本 , 参 见 unlocked_stdio(3) 。
RETURN VALUE 返 回 值
成 功 执 行 返 回 0, 否 则 返 回 EOF 并 设 置 全 局 变 量 errno 来 指 示 错 误 发 生 。
ERRORS
EBADF |
Stream 不 是 一 个 打 开 的 流 , 或 者 不 是 用 于 输 出 。 |
函 数 fflush 也 可 能 失 败 并 置 errno 为 write(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