Partager via


basic_filebuf::close

Ferme un fichier.

basic_filebuf<Elem, Tr> *close( );

Valeur de retour

La fonction membre retourne un pointeur null si le pointeur de fichier est un pointeur null.

Notes

Appels fclose(fp) defermer .Si cette fonction retourne une valeur différente de zéro, la fonction retourne un pointeur null.Sinon, il retourne this pour indiquer que le fichier a été correctement fermé.

Pour un flux à l'échelle, si des insertions se sont produites depuis que le flux de données a été ouvert, ou depuis le dernier appel à streampos, les appels de fonction dépassement.Il insère également une séquence nécessaire pour restaurer l'état de conversion initiale, à l'aide de la fac facette de conversion de fichier pour appeler fac.unshift si nécessaire.Chaque élément byte de type char produit est écrit dans le flux de données associé indiqué par le pointeur de fichier fp comme si par des appels successifs de formulaire fputc(byte, fp).Si l'appel à fac.unshift ou à toute écriture échoue, la fonction ne réussit pas.

Exemple

L'exemple suivant suppose deux fichiers dans le répertoire actif : basic_filebuf_close.txt (le contenu « test ») et iotest.txt (le contenu est « 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( );
}
  

Configuration requise

en-tête : <fstream>

l'espace de noms : DST

Voir aussi

Référence

basic_filebuf Class

programmation iostream

conventions d'iostreams