Пользовательский ввод ... Как проверить ключ ввода
-
30-09-2019 - |
Вопрос
У меня есть секция кода, где пользователь вводит ввод с клавиатуры. Я хочу сделать что-то, когда ввод нажата. Я проверяю « N», но это не работает. Как вы проверяете, нажал ли пользователь клавишу 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++;
}
}
}
Решение
getline
Возвращает только при вводе (или возврата, его можно пометить в любом случае в зависимости от вашей клавиатуры), так что нет необходимости проверять дальше для это - Хотите проверить что-то еще, может быть, например, ввел ли пользователь что-то еще до въезда?
Другие советы
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
не возвращается до нажатия вождения. Если вы хотите проверить, Только введен нажата, проверьте, line
пусто: if (line.empty())
Не связан с StackOverflow