为什么我只能通过_getch()成功获得ESC?

时间:2015-11-23 10:21:01

标签: c++

当我按下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中提问,而且我还没有很好地掌握英语。如果我误解了某些事情,真诚地希望得到你的答案和评论。

0 个答案:

没有答案