Compartilhar via


basic_filebuf::close

Fecha um arquivo.

basic_filebuf<Elem, Tr> *close( );

Valor de retorno

A função de membro retorna um ponteiro nulo se o ponteiro de arquivo for um ponteiro nulo.

Comentários

por uma unha negra fclose(fp). Se a função retorna um valor diferente de zero, a função retorna um ponteiro nulo. Caso contrário, retorna this para indicar que o arquivo esteve fechada com êxito.

Para um fluxo todo, se qualquer inserção ocorreu desde que o fluxo esteve aberto, ou desde a última chamada para streampos, as chamadas de função estouro. Também inserirá qualquer sequência necessária para restaurar o estado inicial de conversão, usando a facetafac de conversão de arquivo para chamar quando necessário fac.unshift . Cada elemento byte de tipo char assim gerado é gravado no fluxo associado designado pelo ponteiro de 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 terá êxito.

Exemplo

O exemplo a seguir supõe dois arquivos no diretório atual: basic_filebuf_close.txt (o conteúdo “estão testando”) e iotest.txt (os conteúdos 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

fstream <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_filebuf

Programação iostream

Convenções iostreams