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

Checks if the file stream has an associated file.

# Declarations

bool is_open() const;

# Return value

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

# Example

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

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
LWG 365C++98is_open was not declared with const qualifierdeclared with const qualifier

# See also