| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7734 人关注过本帖
标题:0xE0 什么意思
只看楼主 加入收藏
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:7 
0xE0 什么意思
0xE0  说一下谢咯
2012-05-02 13:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
特殊键码

授人以渔,不授人以鱼。
2012-05-02 13:37
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:0 
124
2012-05-02 13:43
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:0 
回复 2楼 TonyDeng
具体是哪些键码啊 可以说说吗
2012-05-02 17:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
以下是引用a646404908在2012-5-2 17:16:46的发言:

具体是哪些键码啊 可以说说吗

不是哪些键码,这个是标识一次按键将会返回两个16位整数的特殊值。一旦你扫描键盘按键,返回值(比如_getch()的返回值)是0xE0的话,那么预示着后面还有一个整数等待返回,你需要再调用一次_getch()获得那个返回值,前后两个返回值合并构成一个32位的整数值,才是那个按键的完整代码。通常是按下控制键时会出现这个现象,比如Ctrl+键、PgUp/PgDn等,都会这样。也就是说,键盘按键,有些键是返回16位整数的,有些是返回32位整数的,后者的高位必定是0xE0。这跟汉字的编码与ASCII编码有区别,是同一个道理。

在C语言编程中,如果使用_getch()函数接收键盘按键,那么就要分析其返回值是否0xE0,如果是,则必须再调用一次_getch(),否则缓冲区中会残留数据,也影响程序的正常运作。现代编程,已经提倡使用Unicode编码方式,用_getwch()函数来接收键盘按键,一次返回完整的32位整数,不需再调用一次。

[ 本帖最后由 TonyDeng 于 2012-5-2 17:30 编辑 ]

授人以渔,不授人以鱼。
2012-05-02 17:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
给你看点键码的例子:

程序代码:
        K_SPACE       =    0x0020,   
        K_UP          =    0xE048,
        K_LEFT        =    0xE04B,
        K_RIGHT       =    0xE04D,
        K_HOME        =    0xE047,
        K_END         =    0xE04F,
        K_PGUP        = 0xE049,
        K_PGDN           = 0xE051,
        K_INS         = 0xE052,
        K_DOWN        = 0xE050,
        K_DEL           =    0xE053,
        K_F2          = 0x003C,
        K_F3          = 0x003D,
        K_F4          = 0x003E

授人以渔,不授人以鱼。
2012-05-02 17:33
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:0 
回复 5楼 TonyDeng
现在我搞明白了  谢咯
2012-05-03 12:56
星泪成寒
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:6
帖 子:77
专家分:549
注 册:2013-5-19
收藏
得分:0 
回复 5楼 TonyDeng
The _getch and_getwch functions read a single character from the console without echoing the character. None of these functions can be used to read CTRL+C. When reading a function key or an arrow key, each function must be called twice; the first call returns 0 or 0xE0, and the second call returns the actual key code.

调用_getwch获取方向键也是要调用2次的
2013-10-04 08:38
快速回复:0xE0 什么意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017207 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved