用户输入...如何检查ENTER键

时间:2010-04-22 04:38:38

标签: c++ cin getline user-input

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

3 个答案:

答案 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())

相关问题