C++ Fstream Library - is_open Function



Description

Returns whether the stream is currently associated to a file. If streams can be associated to files by a successful call to member open or directly on construction, and disassociated by calling close or on destruction. The file association of a stream is kept by its internal stream buffer: Internally, then the function calls rdbuf()->is_open().

Declaration

Following is the declaration for fstream::is_open.

C++98

bool is_open();

C++11

bool is_open() const;

Return Value

It returns true, if a file is open and associated with this stream object or else returns false.

Exceptions

Strong guarantee − if an exception is thrown, there are no changes in the stream.

Data races

  • Accesses the fstream object.

  • Concurrent access to the same stream may introduce data races.

Example

In below example explains about fstream is_open function.

#include <iostream>     
#include <fstream>      

int main () {
   std::fstream fs;
   fs.open ("test.txt");
   if (fs.is_open()) {
      fs << "lorem ipsum";
      std::cout << "Operation successfully performed\n";
      fs.close();
   } else {
      std::cout << "Error opening file";
   }
   return 0;
}
fstream.htm
Advertisements