std::basic_fstream<CharT,Traits>::is_open
bool is_open() const; |
Проверяет, связан ли файловый поток с файлом.
Фактически вызывает rdbuf()->is_open().
Параметры
(нет)
Возвращаемое значение
true, если файловый поток связан с файлом, и false в противном случае.
Пример
#include <fstream>
#include <iostream>
#include <string>
int main()
{
std::string filename = "some_file";
std::fstream fs(filename, std::ios::in);
std::cout << std::boolalpha;
std::cout << "fs.is_open() = " << fs.is_open() << '\n';
if (!fs.is_open())
{
fs.clear();
fs.open(filename, std::ios::out);
std::cout << "fs.is_open() = " << fs.is_open() << '\n';
}
}
Возможный вывод:
fs.is_open() = false fs.is_open() = true
Отчёты об исправлениях дефектов
Следующие отчёты об исправлениях дефектов, изменяющих поведение, были ретроактивно применены к ранее опубликованным стандартам 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/cpp/io/basic_fstream/is_open