std::basic_filebuf::is_open

From cppreference.com
< cpp‎ | io‎ | basic filebuf
 
 
Input/output library
I/O manipulators
C-style I/O
Buffers
(deprecated in C++98)
Streams
Abstractions
File I/O
String I/O
Array I/O
(deprecated in C++98)
(deprecated in C++98)
(deprecated in C++98)
Synchronized Output
Types
Error category interface
(C++11)
 
 
bool is_open() const;

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

Parameters

(none)

Return value

true if the associated file is open, false otherwise.

Notes

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

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

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)