Biblioteca C ++ basic_ios - unget

Descrição

É usado para desviar o personagem.

Declaração

A seguir está a declaração para std :: basic_istream :: unget.

basic_istream& unget();

Parâmetros

Nenhum

Valor de retorno

Retorna o objeto basic_istream (* this).

Exceções

Basic guarantee - se uma exceção for lançada, o objeto está em um estado válido.

Corridas de dados

Modifica o objeto stream.

Exemplo

No exemplo abaixo para std :: basic_istream :: unget.

#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.unget();
      std::cin >> n;
      std::cout << "You entered a number: " << n << '\n';
   } else {
      std::string str;
      std::cin.unget();
      getline (std::cin,str);
      std::cout << "You entered a word: " << str << '\n';
   }
   return 0;
}

A saída deve ser assim -

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