Sdílet prostřednictvím


basic_filebuf::close

Zavře soubor.

basic_filebuf<Elem, Tr> *close( );

Vrácená hodnota

Pokud je ukazatel souboru ukazatel s hodnotou null, vrátí funkce členské ukazatel s hodnotou null.

Poznámky

close calls fclose(fp).Funkce vrátí nenulovou hodnotu, vrátí funkce nulový ukazatel.Jinak vrací této označíte, že soubor byl úspěšně uzavřen.

Široký proud, pokud všechny vložené došlo od proudu byl otevřen nebo od posledního volání na streampos, volání funkce přetečení.Vloží libovolná posloupnost potřebné k obnovení stavu počáteční převod pomocí podmínky převodu souboru fac volání fac.unshift podle potřeby.Každý prvek bajt typu char takto vyrobené zapsána přidružené proudu určený ukazatel souboru předponou formátu pokud o sobě volání formuláře jako fputc(bajt, předponou formátu).Pokud volání fac.unshift nebo některý zápis selže, funkce se nezdaří.

Příklad

Následující ukázka předpokládá dva soubory v aktuálním adresáři: basic_filebuf_close.txt (obsah je "zkoušení") 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

Viz také

Referenční dokumentace

basic_filebuf Class

iostream programování

iostreams konvence