返回值

成功完成后,将返回0。否则,将返回EOF并将errno设置为指示错误。无论哪种情况,对该流的任何进一步访问(包括对fclose()的另一次调用)都会导致未定义的行为。

备注

请注意,fclose()仅刷新C库提供的用户空间缓冲区。为了确保将数据物理存储在磁盘上,内核缓冲区也必须进行刷新,例如,使用sync(2)或fsync(2)。

说明

fclose()函数刷新流指向的流(使用fflush(3)写入任何缓冲的输出数据)并关闭基础文件描述符。

名称

fclose-关闭流

另外参见

close(2),fcloseall(3),fflush(3),fileno(3),fopen(3),setbuf(3)

遵循规范

POSIX.1-2001,POSIX.1-2008,C89,C99。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
fclose()Thread safetyMT-Safe

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

FCLOSE - Linux手册页

Linux程序员手册 第3部分
更新日期: 2016-12-12

语法

#包括

int fclose(FILE * stream);

错误说明

EBADF
底层流的文件描述符无效。

fclose()函数也可能会失败,并为例程close(2),write(2)或fflush(3)指定的任何错误设置errno。

日期:2019-08-20 18:00:15 来源:oir作者:oir