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)