C ++ streambuf - sputbackc
Descrizione
Viene utilizzato per rimettere a posto il carattere e tenta di riportare l'indicatore della posizione corrente della sequenza di input controllata al carattere che precede quello corrente.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: streambuf :: sputbackc.
int sputbackc (char c);
Parametri
c - Carattere da rimettere a posto.
Valore di ritorno
Restituisce il valore del carattere rimesso, come valore di tipo int.
Eccezioni
Basic guarantee - se viene generata un'eccezione, il buffer del flusso è in uno stato valido.
Gare di dati
Modifica l'oggetto buffer del flusso.
Esempio
Nell'esempio seguente viene illustrato lo std :: streambuf :: sputbackc.
#include <iostream>
#include <cstdio>
int main () {
char ch;
std::streambuf * pbuf = std::cin.rdbuf();
std::cout << "Please, enter some letters and then a number: ";
do {
ch = pbuf->sbumpc();
if ( (ch>='0') && (ch <='9') ) {
pbuf->sputbackc (ch);
long n;
std::cin >> n;
std::cout << "You entered number " << n << '\n';
break;
}
} while ( ch != EOF );
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
Please, enter some letters and then a number: