getchar或cin.get()在dev cpp中不起作用

时间:2017-12-25 10:11:52

标签: c++ dev-c++

我编写了一个程序,我想从用户那里获取输入,如果按下“N”或“n”以外的任何键,程序将显示“HELLO WORLD”作为输出,否则将显示“退出”消息并退出。以下程序在Linux中工作,但在Dev-cpp窗口中不工作。即使在将cin.get()更改为getchar()之后也无法正常工作。程序不会等待用户输入。

我在cin.get()之前添加了系统(“pause”)但是每当按下一个键时它总是会进入程序的其他部分。

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    char ch ;

    cout << "Press any key to continue, " << endl;
    cout << "Press N or n to exit " << endl;

    ch = cin.get();

    if(ch == 'N' || ch == 'n')
    {
        cout << "Exiting " << endl;
        exit(0);
    }
    else
    {
        cout << "HELLO WORLD" << endl;
    }


    return 0;

}

1 个答案:

答案 0 :(得分:1)

#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
    char ch ;
    cout << "Press any key to continue, " << endl;
    cout << "Press N or n to exit " << endl;
    cin.get(ch);
    if(ch == 'N' || ch == 'n'){
        cout << "Exiting " << endl;
        exit(0);
    }
    else{
        cout << "HELLO WORLD" << endl;
    }
    return 0;
}

您可以尝试使用cin.get(ch),而不是ch = cin.get()。