C++ 如何判断输入ESC键

DJDoctor 2008-06-09 10:30:50
能不能过样,
char ch;
cin >> ch;
if ()
cout << "ESC" << endl;
else
cout << "other" << endl;
if 条件应该怎么加呢?
如果不能,那有没有其它方法可以啊?
...全文
1823 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2008-06-10
  • 打赏
  • 举报
回复
Windows API也行啊?早说啊,嘿嘿,方法估计还不止这一种呢。
DJDoctor 2008-06-10
  • 打赏
  • 举报
回复
我翻了一哈《windows程序设计》,果然不错
用GetAsyncKeyState(0x1B)直接就可以判断ESC键是否按下,谢谢各位
lidowx 2008-06-10
  • 打赏
  • 举报
回复
ESC键的ASCII码是 27
Cf251Suzsoft 2008-06-10
  • 打赏
  • 举报
回复
二楼的很正确
Xshl5 2008-06-10
  • 打赏
  • 举报
回复
esc键ASCII码为十进制27,貌似有如下写法:

if(ch==27)
//...

// or..
if(ch=='\x1b')
//...

// or..
if(ch=='\033')
//...
长安宁 2008-06-10
  • 打赏
  • 举报
回复

char ch;
cin >> ch;
if (10==ch)
cout < < "ESC" < < endl;
else
cout < < "other" < < endl;
lc19890326 2008-06-09
  • 打赏
  • 举报
回复
控制台程序如何响应键盘消息呢 ~
晨星 2008-06-09
  • 打赏
  • 举报
回复
这个好像比较难,cin好像不能从console接收功能键的输入吧。
可以试试<conio.h>中的getch。
不过这个不是标准库函数,但在大多数平台上都提供的。

#include <conio.h>

int main() {
int ch = getch();
if(0x1b == ch) {
。。。。
}
}

——上面的代码没有上机调试,只是表示个意思,不对的话楼主自己再改一改。
九桔猫 2008-06-09
  • 打赏
  • 举报
回复
找电子版《Windows程序设计》 看键盘处理那章。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧