Condividi tramite


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

Vedere anche

Riferimenti

Classe basic_filebuf

Programmazione di iostream

Convenzioni di iostream