Udostępnij za pośrednictwem


basic_streambuf::sungetc

Pobiera znak ze strumienia.

int_type sungetc( );

Wartość zwracana

Zwraca znak lub awarii.

Uwagi

Jeśli pozycja putback jest dostępny, członek funkcji Dekrementuje dalej wskaźnik do buforu wejściowego i zwraca traits_type::to_int_type(*gptr).Jednak to nie zawsze jest możliwe ustalenie ostatniego odczytu znaków, tak, że mogą być przechwytywane w trakcie bieżącego buforu.Jeśli to PRAWDA, to funkcja zwróci pbackfail.Aby uniknąć tej sytuacji, zachować informacje o znak umieścić z powrotem i wywołać sputbackc(ch), który nie powiedzie podany użytkownik nie wymaga to 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;
}

Dane wejściowe: basic_streambuf_sungetc.txt

testing

Dane wyjściowe

t
e
e
t
t

Wymagania

Nagłówek:<streambuf>

Przestrzeń nazw: std

Zobacz też

Informacje

basic_streambuf — Klasa

iostream Programming

Konwencje iostream