Spec-Zone.ru › C++

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

См. также

open
открывает файл и связывает его с потоком
(открытая функция-член)
close
закрывает связанный файл
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_ifstream/is_open

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API