Biblioteca C ++ Fstream - Função is_open

Descrição

Retorna se o fluxo está atualmente associado a um arquivo. Se os fluxos podem ser associados aos arquivos por uma chamada bem-sucedida ao membro aberto ou diretamente na construção, e desassociados chamando close ou na destruição. A associação de arquivo de um fluxo é mantida por seu buffer de fluxo interno: Internamente, a função chama rdbuf () -> is_open ().

Declaração

A seguir está a declaração para fstream :: is_open.

C ++ 98

bool is_open();

C ++ 11

bool is_open() const;

Valor de retorno

Ele retorna verdadeiro, se um arquivo está aberto e associado a este objeto de fluxo ou então retorna falso.

Exceções

Strong guarantee - se uma exceção é lançada, não há mudanças no fluxo.

Corridas de dados

  • Acessa o objeto fstream.

  • O acesso simultâneo ao mesmo fluxo pode introduzir disputas de dados.

Exemplo

No exemplo abaixo, explica sobre a função 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;
}