basic_streambuf::sungetc
Ottiene un carattere del flusso.
int_type sungetc( );
Valore restituito
Restituisce il carattere o un errore.
Note
Se un percorso putback è disponibile, la funzione membro decrementa il puntatore seguente per il buffer di input e restituisce traits_type::to_int_type(*gptr). Tuttavia, non sempre è possibile determinare l'ultimo carattere lettura in modo da poter acquisire lo stato corrente del buffer. In questo caso, la funzione restituisce pbackfail. Per evitare questa situazione, tenere traccia del carattere per riportare e chiamare sputbackc(ch), che non avranno esito negativo sono stati forniti non viene chiamato all'inizio del flusso e non si tenta di riportare più di un carattere.
Esempio
// 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;
}
Input: basic_streambuf_sungetc.txt
testing
Output
t
e
e
t
t
Requisiti
streambuf <diIntestazione: >
Spazio dei nomi: std