首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在C语言中通过ASC码识别128个字符的有关问题

2012-03-12 
在C语言中通过ASC码识别128个字符的问题对128个字符进行哈夫曼编码时遇到的问题:如何通过ASC码使能够别128

在C语言中通过ASC码识别128个字符的问题
对128个字符进行哈夫曼编码时遇到的问题:
如何通过ASC码使能够别128个字符,能显示的字符则显示出来,不能显示的,如
CAPS   LOCK
SHIFT
CTRL
END
...
这些键代表的字符,要能够识别并记数,用kbhit()则所有字符都不能显示,用其他函数好象无法识别上面提到的那些字符(记数器没有对他们进行记数!),不知道怎么办了,希望有人能够拉我一把,谢谢了!

[解决办法]
int bioskey(int cmd)本函数用来执行各种键盘操作,由cmd确定操作。
cmd可为以下值:
0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0,
则返回扩充了的键盘代码。
1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。
敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。
2 返回当前的键盘状态,由返回整数的每一个位表示,见下表:
┌──┬───────────┬───────────┐
│ 位 │为0时意义 │为1时意义 │
├──┼───────────┼───────────┤
│ 7 │插入状态 │改写状态 │
│ 6 │大写状态 │小写状态 │
│ 5 │数字状态,NumLock灯亮 │光标状态,NumLock灯熄 │
│ 4 │ScrollLock灯亮 │ScrollLock灯熄 │
│ 3 │Alt按下 │Alt未按下 │
│ 2 │Ctrl按下 │Ctrl未按下 │
│ 1 │左Shift按下 │左Shift未按下 │
│ 0 │右Shift按下 │右Shift未按下 │
└──┴───────────┴───────────┘
[解决办法]
请用Windows API(MSDN查吧),虫子给的办法是TC的库。

热点排行