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