Udostępnij za pośrednictwem


basic_streambuf::sungetc

Pobiera znak ze strumienia.

int_type sungetc( );

Wartość zwracana

Zwraca znak lub awarii.

Uwagi

Jeżeli stanowisko putback jest dostępna, członek funkcja zmniejsza dalej wskaźnika dla buforu wejściowego i zwraca traits_type::to_int_type(*gptr).Jednak to nie zawsze jest możliwe ustalenie ostatniego odczytu znaków, dzięki czemu mogą być przechwytywane w stanie bieżącym buforu.Jeśli to PRAWDA, wówczas funkcja zwraca pbackfail.Aby uniknąć tej sytuacji, zachować o znak ponownie wprowadzane i wywołać sputbackc(ch), który nie powiedzie dostarczonego nie go wywołać, na początku strumienia i nie próbuj ponownie umieścić więcej niż jeden znak.

Przykład

// 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;
}

Wejście: basic_streambuf_sungetc.txt

testing

zz53e1ew.collapse_all(pl-pl,VS.110).gifDane wyjściowe

t
e
e
t
t

Wymagania

Nagłówek: <streambuf>

Obszar nazw: std

Zobacz też

Informacje

basic_streambuf Class

iostream Programowanie

iostreams Konwencji