CppDS.com

C++ 98 11 14 17 20 手册

std::basic_filebuf<CharT,Traits>::is_open

来自cppreference.com
< cpp‎ | io‎ | basic filebuf
bool is_open() const;

若最近到 open() 的调用成功且之后无到 close() 的调用则返回 true

参数

(无)

返回值

若关联文件打开则为 true ,否则为 false

注意

此函数典型地为 std::basic_fstream::is_open() 所调用。

示例

#include <fstream>
#include <iostream>
 
int main()
{
    std::ifstream fs("test.txt");
    std::filebuf fb;
    fb.open("test.txt", std::ios_base::in);
    std::cout << std::boolalpha
              << "direct call: " << fb.is_open() << '\n'
              << "through streambuf: " << fs.rdbuf()->is_open() << '\n'
              << "through fstream: " << fs.is_open() << '\n';
}

输出:

direct call: true
through streambuf: true
through fstream: true

参阅

打开文件并配置它为关联字符序列
(公开成员函数)
冲入放置区缓冲区并关闭关联的文件
(公开成员函数)
关闭