la entrada del usuario ... Cómo comprobar la tecla ENTER
-
30-09-2019 - |
Pregunta
I tiene una sección de código en el que el usuario entra en la entrada desde el teclado. Quiero hacer algo cuando se pulsa ENTER. Estoy comprobando por '\ n', pero no está funcionando. ¿Cómo se comprueba si el usuario pulsa la tecla ENTER?
if( shuffle == false ){
int i=0;
string line;
while( i<20){
cout << "Playing: ";
songs[i]->printSong();
cout << "Press ENTER to stop or play next song: ";
getline(cin, line);
if( line.compare("\n") == 0 ){
i++;
}
}
}
Solución
retornos getline
sólo cuando un Intro (o Retorno, que se pueden marcar en cualquier dirección dependiendo de su teclado) es golpeada, por lo que no hay necesidad para evaluar posteriormente la que - hacer que desea comprobar algo más, tal vez, por ejemplo, si el usuario entrado algo else antes de entrar?
Otros consejos
if( shuffle == false ){
int i=0;
string line;
while( i<20){
cout << "Playing: ";
songs[i]->printSong();
cout << "Press ENTER to stop or play next song: ";
if( cin.get() == '\n' ) {
i++;
}
}
}
getline
no va a volver hasta que se pulsa Intro. Si desea comprobar si solamente ingresó fue presionado, cheque si el usuario está vacía line
: if (line.empty())