std::basic_filebuf::is_open

From cppreference.com
bool is_open() const;

Returns true if the most recent call to open() succeeded and there has been no call to close() since then.

Contents

[edit] Parameters

(none)

[edit] Return value

true if the associated file is open, false otherwise.

[edit] Notes

This function is typically called by std::basic_fstream::is_open.

[edit] Example

#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';
}

Output:

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

[edit] See also

opens a file and configures it as the associated character sequence
(public member function)
flushes the put area buffer and closes the associated file
(public member function)