std::basic_ifstream<CharT,Traits>::is_open
bool is_open() const; |
Проверяет, связан ли с файловым потоком файл.
Фактически вызывает rdbuf()->is_open().
Параметры
(нет)
Возвращаемое значение
true, если с файловым потоком связан файл, и false в противном случае.
Пример
#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';
}
Возможный вывод:
true false
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применяется к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 365 | C++98 |
is_open не было объявлено с квалификатором const | объявлено с квалификатором const |
См. также
| открывает файл и связывает его с потоком (открытая функция-член) |
|
| закрывает связанный файл (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_ifstream/is_open