Compartir a través de


basic_filebuf::close

Cerrar un archivo.

basic_filebuf<Elem, Tr> *close( );

Valor devuelto

La función miembro devuelve un puntero NULL si el puntero de archivo es un puntero NULL.

Comentarios

llamadas fclose(punto de congelación) decierre .Si la función devuelve un valor distinto de cero, la función devuelve un puntero NULL.De lo contrario, devuelve this para indicar que el archivo se cerró correctamente.

Para una secuencia elevado, si algunas inserciones han producido desde que la secuencia se abre, o desde la última llamada a streampos, la función desbordamiento.También inserta cualquier secuencia necesaria para restaurar el estado inicial de la conversión, utilizando la facetafac  de conversión de archivos para llamar a fac.unshift según sea necesario.Cada elemento byte de char tipo generado y se escribe en la secuencia asociado indica el puntero de archivo punto de congelación como si mediante llamadas sucesivas del formulario fputc(byte, punto de congelación).Si se produce un error en la llamada a fac.unshift o a cualquier escritura, la función no tiene éxito.

Ejemplo

El ejemplo siguiente supone dos archivos del directorio actual: basic_filebuf_close.txt (el contenido “están probando”) y iotest.txt (contenido es “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

encabezado: <fstream>

espacio de nombres: std

Vea también

Referencia

basic_filebuf Class

programación iostream

convenciones de iostreams