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