Descripción
Se utiliza para ver el siguiente carácter.
Declaración
A continuación se muestra la declaración para std :: basic_istream :: peek.
int_type peek();
Parámetros
ninguna
Valor devuelto
Devuelve el siguiente carácter en la secuencia de entrada, sin extraerlo: el carácter se deja como el siguiente carácter que se extraerá de la secuencia.
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 :: peek.
#include <iostream>
#include <string>
#include <cctype>
int main () {
std::cout << "Please, enter a number or a word: ";
std::cout.flush();
std::cin >> std::ws;
std::istream::int_type c;
c = std::cin.peek();
if ( c == std::char_traits<char>::eof() )
return 1;
if ( std::isdigit(c) ) {
int n;
std::cin >> n;
std::cout << "You entered the number: " << n << '\n';
} else {
std::string str;
std::cin >> str;
std::cout << "You entered the word: " << str << '\n';
}
return 0;
}
La salida debería ser así:
Please, enter a number or a word: foobar
You entered the word: foobar