当我按下ESC时,我想做点事。首先我发现了这个:How to read until ESC button is pressed from cin in C++
然后我尝试在那个问题中使用cin.get()就像答案一样。
using namespace std;
const int ESC = 27;
char c;
c = cin.get();
if (c == ESC) {
...;
} else {
...;
}
但它永远不会奏效! cin.get()
可以获得'a','1'等等。当我进入Esc时,它不起作用。我也尝试了cin >> c
,也无法捕捉到Esc。
然后我在_getch( void );
中使用int <conio.h>
而不是cin.get()
。它有效!
_getch()
似乎是C风格的函数,因此我不喜欢在C ++代码中使用它。我不明白为什么cin.get()
在我的代码中不起作用,但根据上一个链接中的答案,它似乎在其他人中有效。
它在Windows
。
Besedes,这是我第一次在stackoverflow中提问,而且我还没有很好地掌握英语。如果我误解了某些事情,真诚地希望得到你的答案和评论。