Freigeben über


basic_filebuf::close

Schließt eine Datei.

basic_filebuf<Elem, Tr> *close( );

Rückgabewert

Die Memberfunktion gibt einen NULL-Zeiger zurück, wenn der Dateizeiger ein NULL-Zeiger ist.

Hinweise

close Aufrufe fclose(fp).Wenn diese Funktion einen Wert ungleich 0 zurückgibt, gibt die Funktion einen NULL-Zeiger zurück.Andernfalls gibt sie this zurück, um anzugeben, dass die Datei erfolgreich geschlossen wurde.

Für eine breite Stream ggf. sind Einfügungen, seit der Stream geöffnet war, oder seit dem letzten Aufruf von streampos, die Funktionsaufrufe Überlauf aufgetreten.Außerdem wird jede Sequenz ein, die erforderlich ist, um den ursprünglichen Konvertierungszustand wiederherzustellen, indem es das Dateikonvertierungsfacet fac verwendet, um fac.unshift nach Bedarf aufzurufen.Jedes Element byte des Typs char daher erzeugt wird dem zugeordneten Stream geschrieben, der vom Dateizeiger fp als ob durch aufeinander folgende Aufrufe des Formulars fputc(byte, fp) festgelegt ist.Wenn der Aufruf fac.unshift oder eines fehlschlägt, die Funktion folgt nicht schreiben.

Beispiel

Im folgenden Beispiel werden zwei Dateien im aktuellen Verzeichnis an: basic_filebuf_close.txt (Inhalt "Tests") und iotest.txt (Inhalt ist "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( );
}
  

Anforderungen

Header: <fstream>

Namespace: std

Siehe auch

Referenz

basic_filebuf Class

Programmierung der iostream-Headerdatei

iostreams Konventionen