std::basic_ifstream::is_open(3)

NAME
std::basic_ifstream::is_open - std::basic_ifstream::is_open

Synopsis
   bool is_open() const;
   Checks if the file stream has an associated file.
   Effectively calls rdbuf()->is_open().

Parameters
   (none)

Return value
   true if the file stream has an associated file, false otherwise.

Example
// Run this code
 #include <fstream>
 #include <iostream>
 #include <string>
 // this file is called main.cpp
 bool file_exists(const std::string& str)
 {
     std::ifstream fs(str);
     return fs.is_open();
 }
 int main()
 {
     std::boolalpha(std::cout);
     std::cout << file_exists("main.cpp") << '\n'
               << file_exists("strange_file") << '\n';
 }

Possible output:
 true
 false
   Defect reports
   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.
     DR Applied to Behavior as published Correct behavior
   LWG 365 C++98 is_open was not declared with const qualifier declared with const
                        qualifier

See also
   open opens a file and associates it with the stream
         (public member function)
   close closes the associated file
         (public member function)