std::basic_filebuf<CharT,Traits>::close
< cpp | io | basic filebuf
std::basic_filebuf<CharT, Traits>* close(); |
||
若放置区存在(即为写入打开文件),则首先调用 overflow(Traits::eof()) 写入所有未决输出到文件,包含任何反迁移序列。
若在 underflow() 、 overflow() 、 seekpos() 和 seekoff() 之中最近调用的函数是 overflow() ,则可能多次调用 std::codecvt::unshift() 以确定按照感染的本地环境的反迁移序列,并将该序列以 overflow(Traits::eof()) 写入文件。
然后,如同用 std::fclose() 关闭文件,不考虑任何之前调用成功或失败。
若作出的任何函数调用,包含对 std::fclose() 的调用失败,则返回空指针。若作出的任何函数调用抛出异常,则捕捉该异常并在调用 std::fclose() 后重抛。若该文件已关闭,则立即返回空指针。
任何情况下,都更新 is_open() 所访问的私有成员变量。
参数
(无)
返回值
成功时为 this ,失败时为空指针。
注意
close()
典型地通过 std::basic_filebuf 的析构函数调用(继而典型地为 std::basic_fstream 的析构函数所调用)。
示例
本节未完成 原因:暂无示例 |
参阅
检查关联文件是否打开 (公开成员函数) | |
[虚] |
析构 basic_filebuf 对象并且若打开则关闭文件 (虚公开成员函数) |