Sdílet prostřednictvím


basic_streambuf::sungetc

Získá znak z datového proudu.

int_type sungetc( );

Vrácená hodnota

Vrátí znak nebo selhání.

Poznámky

Pokud je k dispozici na putback místě, člen funkce sníží další ukazatele pro vstupní vyrovnávací paměti a vrátí traits_type::to_int_type(*gptr).Však není vždy možné určit poslední čtení znaků tak, že lze zachytit ve stavu aktuální vyrovnávací paměti.Pokud je tomu tak, pak vrátí funkce pbackfail.K této situaci se vyhnete udržení přehledu o znak umístit zpět a volat sputbackc(ch), kterého nedojde k selhání poskytnuté není ji volat na začátku datového proudu a příště pokusí vrátit více než jeden znak.

Příklad

// basic_streambuf_sungetc.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>

int main( ) 
{
   using namespace std;

   ifstream myfile( "basic_streambuf_sungetc.txt", ios::in );

   // Read and increment
   int i = myfile.rdbuf( )->sbumpc( );
   cout << ( char )i << endl;

   // Read and increment
   i = myfile.rdbuf( )->sbumpc( );
   cout << ( char )i << endl;

   // Decrement, read, and do not increment
   i = myfile.rdbuf( )->sungetc( );
   cout << ( char )i << endl;

   i = myfile.rdbuf( )->sungetc( ); 
   cout << ( char )i << endl;

   i = myfile.rdbuf( )->sbumpc( );
   cout << ( char )i << endl;
}

Vstup: basic_streambuf_sungetc.txt

testing

Výsledek

t
e
e
t
t

Požadavky

Záhlaví:<streambuf>

Obor názvů: std

Viz také

Referenční dokumentace

basic_streambuf – třída

iostream – programování

iostreams – konvence