basic_filebuf::close
Chiude un file.
basic_filebuf<Elem, Tr> *close( );
Valore restituito
La funzione membro restituisce un puntatore null se il puntatore del file è un puntatore null.
Note
close chiama fclose(fp). Se la funzione restituisce un valore diverso da zero, la funzione restituisce un puntatore null. In caso contrario, restituisce questo per indicare che il file corretto è stato chiuso.
Per un ampio flusso, se gli inserimenti si sono verificati da quando il flusso è stato aperto, dall'ultima chiamata a streampos, le chiamate di funzione overflow. Inserire anche qualsiasi sequenza necessaria per ripristinare lo stato iniziale di conversione, utilizzando ilfac facet di conversione di file per chiamare fac.unshift in base alle necessità. Ogni elemento byte di tipo char prodotto pertanto è scritto nel flusso connesso definito dal puntatore del file fp come se le chiamate successive del form fputc(byte, fp). Se la chiamata a fac.unshift o qualsiasi scrive i test non superato, la funzione non riesce.
Esempio
Nell'esempio si presuppone due file nella directory corrente: basic_filebuf_close.txt (contenuto "sta testando") e iotest.txt (contenuto è "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( );
}
Requisiti
fstream <diIntestazione: >
Spazio dei nomi: std