1

我有一段代码,用户在其中输入键盘输入。当按下 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++;
        }
    }
}
4

3 回答 3

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++;
        }
    }
}
于 2010-04-22T04:44:22.617 回答
2

getline仅在按下 Enter(或 Return,它可以根据您的键盘标记为任何一种方式)时返回,因此无需进一步检查-您是否想检查其他内容,例如用户是否输入Enter 之前的其他内容

于 2010-04-22T04:42:20.913 回答
1

getline在按下 enter 之前不会返回。如果要检查是否按下了输入,请检查是否line为空:if (line.empty())

于 2010-04-22T04:42:43.700 回答