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