C ++ streambuf - sputbackc

Descripción

Se utiliza para volver a colocar el carácter e intenta mover el indicador de posición actual de la secuencia de entrada controlada al carácter que precede al actual.

Declaración

A continuación se muestra la declaración de std :: streambuf :: sputbackc.

int sputbackc (char c);

Parámetros

c - Carácter para devolver.

Valor devuelto

Devuelve el valor del carácter devuelto, 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 :: 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Please, enter some letters and then a number: