bool is_open() const; |
Checks if the file stream has an associated file.
Effectively calls rdbuf()->is_open().
(none).
true if the file stream has an associated file, false otherwise.
#include <string>
#include <fstream>
#include <iostream>
// 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
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 |
| opens a file and associates it with the stream (public member function) |
|
| closes the associated file (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ifstream/is_open