fclose、_fcloseall
关闭了流 (fclose) 或任何打开关闭流 (_fcloseall)。
int fclose(
FILE *stream
);
int _fcloseall( void );
参数
- stream
指向 FILE 结构的指针。
返回值
则流成功关闭,则fclose 返回 0。 _fcloseall 返回关闭流的总数。 指示两函数错误的返回 EOF。
备注
fclose 函数的 stream。 如果 stream 是 NULL,则会调用无效参数处理程序,如 参数验证 中所述。 如果允许执行继续,则将fclose设置errno t为EINVAL 并返回 EOF。 建议 stream 指针在调用此函数之前始终检查。
有关这些内容的更多信息以及其他错误代码,请参见 _doserrno、errno、_sys_errlist 和 _sys_nerr。
_fcloseall 关闭所有多余函数 stderr ( stdin,stdout,此外,在 MS-DOS,_stdaux 和 _stdprn) 的流打开。 还可以关闭并删除所有 tmpfile创建的临时文件。 在两种函数中,所有缓存与流在关闭之前刷新。 当关闭了流时,系统分配的缓冲区被释放。 具有 setbuf 和 setvbuf 的用户分配缓冲区不自动释放。
注意:,则这些函数用于关闭流时,基础文件说明符和操作系统句柄 (或文件),以及套接字关闭流。 因此,如果文件初会打开为文件句柄或文件描述符和关闭使用 fclose,也不要调用 _close 关闭文件说明符;请勿调用 Win32 函数 CloseHandle 关闭文件的句柄。
fclose 并防止代码的 _fcloseall 应用程序受到其他线程的干扰。 有关非固定版本fclose,请参见 _fclose_nolock。
要求
功能 |
必需的标头 |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
有关其他兼容性信息,请参见“简介”中的兼容性。
示例
请参见_fopen示例。