名称
fclose - 关闭流
概要
#include <stdio.h>
int fclose(FILE *stream);
说明
fclose冲刷流(调用fflush写所有的缓冲的输出数据)并且关闭底层的文件描述符。
如果参数为非法指针或者原先用同样的参数调用过fclose,则调用fclose时会出现
未定义的表现。
返回值
一旦成功完成则返回0。否则返回EOF并且errno被设置为对应的错误码。任何更
进一步的流访问(包括再次调用fclose)会导致未定义的表现。
错误码
EBADF 非法的流。
fclose失败时也可能设置errno为其他的错误码,这些错误码由close,write,fflush
指定。
线程安全特征
接口 | 特征 | 值 |
fclose() | 线程安全 | 多线程安全 |
标准
遵循POSIX.1-2001,POSIX.1-2008,C89,C99。
注意
fclose只冲刷由C库实现的用户空间的缓冲。为了保证数据存储到硬盘,必须冲刷
内核的缓冲,例如调用sync,fsync。
推荐阅读
close,fcloseall,fflush,fopen,setbuf
版本记录
这个页面是Linux man-pages项目4.04版本的一部分。关于该项目的信息和bug报
道可以在该网站找到:http://www.kernel.org/doc/man-pages/。
2015-08-08