Namespaces
Variants

std::basic_ifstream<CharT,Traits>:: is_open

From cppreference.net

bool is_open ( ) const ;

Comprueba si el flujo de archivo tiene un archivo asociado.

Efectivamente llama a rdbuf()->is_open() .

Contenidos

Parámetros

(ninguno)

Valor de retorno

true si el flujo de archivo tiene un archivo asociado, false en caso contrario.

Ejemplo

#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';
}

Salida posible:

true
false

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 365 C++98 is_open no se declaraba con const qualifier declarado con const qualifier

Véase también

abre un archivo y lo asocia con el flujo
(función miembro pública)
cierra el archivo asociado
(función miembro pública)