我有一段代码,用户从键盘输入输入。我想在按下ENTER时做某事。我正在检查'\ 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++;
}
}
}
答案 0 :(得分:3)
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++;
}
}
}
答案 1 :(得分:2)
getline
仅在Enter(或返回时,可以按照键盘标记的方式标记)时返回,因此无需进一步检查 - 做什么你想检查别的东西,例如用户是否在输入之前输入 else ?
答案 2 :(得分:1)
getline
在按下enter之前不会返回。如果您想检查是否按下仅,请检查line
是否为空:if (line.empty())