C ++ streambuf - sungetc
Descripción
Se usa para disminuir la posición actual e intenta mover el indicador de posición actual de la secuencia de entrada controlada hacia atrás una posición al carácter que precede al actual, haciendo que el carácter en esa posición esté disponible una vez más para la siguiente operación de entrada.
Declaración
A continuación se muestra la declaración para std :: streambuf :: sungetc.
int sungetc();
Parámetros
ninguna
Valor devuelto
Devuelve el valor del nuevo carácter actual de la secuencia de entrada controlada, como un valor de tipo int.
Excepciones
Basic guarantee - si se lanza una excepción, el búfer de flujo está en un estado válido.
Carreras de datos
Modifica el objeto de búfer de flujo.
Ejemplo
En el siguiente ejemplo se explica sobre std :: streambuf :: sungetc.
#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->sungetc ();
long n;
std::cin >> n;
std::cout << "You entered number " << n << '\n';
break;
}
} while ( ch != EOF );
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
Please, enter some letters and then a number: