basic_filebuf::close
Zamyka plik.
basic_filebuf<Elem, Tr> *close( );
Wartość zwracana
Element członkowski funkcja zwraca pusty wskaźnik, jeśli wskaźnik pliku jest pusty wskaźnik.
Uwagi
close calls fclose(fp).Jeśli ta funkcja zwraca wartość różną od zera, funkcja zwraca pusty wskaźnik.W przeciwnym wypadku zwraca to do wskazania, że plik został pomyślnie zamknięty.
Dla szerokiego strumienia, jeśli wszelkie wstawienia miały miejsce od czasu otwarcia strumienia lub od czasu ostatniego wywołania do streampos, wywołania funkcji przepełnienie.Również wstawia dowolną sekwencję potrzebne do przywrócenia stanu początkowego konwersji przy użyciu zestaw reguł konwersji pliku fac do wywołania fac.unshift w razie potrzeby.Każdy element bajt typu char ten sposób przedstawiony jest napisany w strumieniu skojarzone wyznaczone przez wskaźnik pliku fp tak jakby za pomocą kolejnych wywołań formularza fputc(bajt, fp).Jeśli wywołanie fac.unshift lub żadnego zapisu zakończy się niepowodzeniem, funkcja kończy się niepowodzeniem.
Przykład
Poniższy przykładowy zakłada dwa pliki w bieżącym katalogu: basic_filebuf_close.txt (zawartość jest "badania") i iotest.txt (zawartość jest "SSS").
// 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( );
}
Wymagania
Nagłówek:<fstream>
Przestrzeń nazw: std