basic_filebuf::close
Fechar um arquivo.
basic_filebuf<Elem, Tr> *close( );
Valor de retorno
A função de membro retorna um ponteiro zero se o ponteiro do arquivo é um ponteiro nulo.
Comentários
close chama fclose(fp).Se essa função retorna um valor diferente de zero, a função retorna um ponteiro nulo.Caso contrário, retornará this para indicar que o arquivo foi fechada com êxito.
Para um fluxo amplo, se qualquer inserção ocorreu porque o fluxo foi aberto, ou desde a última chamada a streampos, as chamadas de função estouro.Também inserir qualquer seqüência necessária restaurar o estado inicial de conversão, usando a fac aspecto de conversão de arquivo para chamar quando necessário fac.unshift .Cada elemento byte de tipo char gerado para é gravado no fluxo associado designado pelo ponteiro do arquivo fp como se por chamadas sucessivas do formulário fputc(byte, fp).Se a chamada a fac.unshift ou qualquer gravação falhar, a função não tiver êxito.
Exemplo
O exemplo a seguir pressupõe dois arquivos no diretório atual: basic_filebuf_close.txt (o conteúdo está testando “”) e iotest.txt (o conteúdo são ssss “”).
// basic_filebuf_close.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
int main() {
using namespace std;
ifstream file;
basic_ifstream <wchar_t> wfile;
char c;
// Open and close with a basic_filebuf
file.rdbuf()->open( "basic_filebuf_close.txt", ios::in );
file >> c;
cout << c << endl;
file.rdbuf( )->close( );
// Open/close directly
file.open( "iotest.txt" );
file >> c;
cout << c << endl;
file.close( );
// open a file with a wide character name
wfile.open( L"iotest.txt" );
// Open and close a nonexistent with a basic_filebuf
file.rdbuf()->open( "ziotest.txt", ios::in );
cout << file.fail() << endl;
file.rdbuf( )->close( );
// Open/close directly
file.open( "ziotest.txt" );
cout << file.fail() << endl;
file.close( );
}
Requisitos
Cabeçalho: <fstream>
namespace: STD