Biblioteca C ++ Fstream - Función is_open

Descripción

Devuelve si la secuencia está actualmente asociada a un archivo. Si los flujos se pueden asociar a archivos mediante una llamada exitosa al miembro abierto o directamente en construcción, y disociarlos llamando al cierre o al destruir. La asociación de archivos de un flujo se mantiene mediante su búfer de flujo interno: Internamente, luego la función llama a rdbuf () -> is_open ().

Declaración

A continuación se muestra la declaración de fstream :: is_open.

C ++ 98

bool is_open();

C ++ 11

bool is_open() const;

Valor devuelto

Devuelve verdadero, si un archivo está abierto y asociado con este objeto de flujo o si no devuelve falso.

Excepciones

Strong guarantee - si se lanza una excepción, no hay cambios en la secuencia.

Carreras de datos

  • Accede al objeto fstream.

  • El acceso simultáneo al mismo flujo puede introducir carreras de datos.

Ejemplo

En el siguiente ejemplo se explica la función fstream is_open.

#include <iostream>     
#include <fstream>      

int main () {
   std::fstream fs;
   fs.open ("test.txt");
   if (fs.is_open()) {
      fs << "lorem ipsum";
      std::cout << "Operation successfully performed\n";
      fs.close();
   } else {
      std::cout << "Error opening file";
   }
   return 0;
}