Condividi tramite


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

Vedere anche

Riferimenti

Classe basic_streambuf

Programmazione di iostream

Convenzioni di iostream