basic_filebuf::close
Schließt eine Datei.
basic_filebuf<Elem, Tr> *close( );
Rückgabewert
Die Memberfunktion gibt einem NULL-Zeiger zurück, wenn der Dateizeiger ein NULL-Zeiger ist.
Hinweise
schließen ruft fclose(fp). Wenn diese Funktion einen Wert ungleich 0 (null) zurückgibt, gibt die Funktion einem NULL-Zeiger zurück. Andernfalls gibt diese this zurück, um anzugeben, dass die Datei erfolgreich geschlossen wurde.
Bei einem Breitzeichen Stream wenn Einfügungen aufgetreten sind, seit der Stream geöffnet war, oder seit dem letzten Aufruf von streampos, die durch Überlauf. Es fügt auch jede Sequenz ein, die erforderlich ist, um den ursprünglichen Konvertierungszustand wiederherzustellen, indem das Dateikonvertierungsfacet fac verwendet, um fac.unshift bei Bedarf aufzurufen. Jedes Element byte des Typs char erstellt daher wird dem zugeordneten Stream geschrieben, den der Dateizeiger fp als ob durch aufeinander folgende Aufrufe des Formulars fputc(byte, fp) festgelegt wird. Wenn der Aufruf von fac.unshift oder alle fehlschlägt, die Funktion nicht folgt 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