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++.
| DR | Применено к | Поведение, опубликованное | Правильное поведение |
|---|---|---|---|
| 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/w/cpp/io/basic_ifstream/is_open