2017-03-20 39 views
-1

我对C++有点新鲜,所以请原谅我有点不习惯。如何等待特定的击键?

有没有可用于使控制台暂停的功能,直到按下特定的按键?

例子是:

#include <iostream> 

using namespace std; 

int main() 
{ 
    int i = 0; 

    if (specific key pressed) { 
     i = 1; 
    } else if (other key pressed) { 
     i = 2; 
    } 

    cout << i << endl; 

    return 0; 
} 

控制台应该输出1,如果右键被按下时,并且如果2的另一个关键是。

+0

通过“特定的关键”你指的是一个特定的字符,或者像一个箭头键的可视化表示什么? – 4castle

+1

'int i - 0;'没什么意义。请停止在此处输入代码,并将其从IDE中粘贴。 –

+0

不知道你的控制台有什么,我们不知道它是否有可能做到这一点,或者如果有的话,如何使它做到这一点。 –

回答

0

你想要做的事情有点复杂,C++利用了cin流,输入到控制台的输入被输入到你的程序中。作为按键事件,操作系统可以处理,并且在操作系统之间会有所不同。因此,使用这样的东西需要用户按输入/返回输入程序接收。

char key; 
std::cin >> key; 
if (key == 'a') { 
    std::cout << 1; 
} 
else { 
    std::cout << 2; 
} 

找到一些答案在这里How to handle key press events in c++