basic_filebuf::close
Zavře soubor.
basic_filebuf<Elem, Tr> *close( );
Vrácená hodnota
Členské funkce vrátí ukazatel s hodnotou null, pokud ukazatel souboru je nulový ukazatel.
Poznámky
close calls fclose(fp).Pokud tato funkce vrátí nenulovou hodnotu, vrátí funkce ukazatel s hodnotou null.V opačném případě se vrátí tuto označíte, že soubor byl úspěšně uzavřen.
Pro široký proud, pokud všechny vložené nastaly datový proud byl otevřen nebo od posledního volání, k streampos, volání funkce přetečení.Vloží také Libovolná posloupnost potřebné k obnovení stavu počáteční převod pomocí podmínka převodu souboru fac volat fac.unshift podle potřeby.Každý prvek bajt typu char takto vyrobené je zapsaných do proudu přidružené ukazatele souboru určený dp jako Pokud tak, že následná volání formuláře fputc(bajt, dp).Pokud volání fac.unshift nebo libovolný zápis nezdaří, funkce se nezdaří.
Příklad
Následující příklad předpokládá dva soubory v aktuálním adresáři: basic_filebuf_close.txt (obsah je "testování") a iotest.txt (obsah je "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( );
}
Požadavky
Záhlaví:<fstream>
Obor názvů: std