Biblioteca C ++ basic_ios - putback

Descripción

Se utiliza para devolver el carácter.

Declaración

A continuación se muestra la declaración para std :: basic_istream :: putback.

basic_istream& putback (char_type c);

Parámetros

c - Carácter para devolver.

Valor devuelto

Devuelve el objeto basic_istream (* this).

Excepciones

Basic guarantee - si se lanza una excepción, el objeto está en un estado válido.

Carreras de datos

Modifica el objeto de flujo.

Ejemplo

En el siguiente ejemplo para std :: basic_istream :: putback.

#include <iostream>     
#include <string>       

int main () {
   std::cout << "Please, enter a number or a word: ";
   char c = std::cin.get();

   if ( (c >= '0') && (c <= '9') ) {
      int n;
      std::cin.putback (c);
      std::cin >> n;
      std::cout << "You entered a number: " << n << '\n';
   } else {
      std::string str;
      std::cin.putback (c);
      getline (std::cin,str);
      std::cout << "You entered a word: " << str << '\n';
   }
   return 0;
}

La salida debería ser así:

Please, enter a number or a word: pocket
You entered a word: pocket