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(fp) decerrar . 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 asociada designada por el puntero de archivo fp como si mediante llamadas sucesivas del formulario fputc(byte, fp). 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
fstream <deEncabezado: >
Espacio de nombres: std