Entrée utilisateur ... Comment vérifier touche ENTRER
-
30-09-2019 - |
Question
J'ai une section de code où l'utilisateur entre les entrées du clavier. Je veux faire quelque chose quand vous appuyez sur ENTER. Je vérifie pour « \ n », mais il ne fonctionne pas. Comment vérifier si l'utilisateur appuie sur la touche 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++;
}
}
}
La solution
retourne getline
uniquement lorsqu'une Entrée (ou retour, il peut être marqué de toute façon en fonction de votre clavier) est frappé, donc il n'y a pas besoin de vérifier plus loin pour que - voulez-vous vérifier quelque chose d'autre, peut-être, par exemple, si l'utilisateur quelque chose tapais autre avant Enter?
Autres conseils
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
ne va pas revenir avant vous appuyez sur Entrée. Si vous voulez vérifier si uniquement entrée a été pressé, vérifiez si le line
est vide: if (line.empty())