字符c是否为字母或数字

来源:互联网 发布:2015年出境旅游数据 编辑:程序博客网 时间:2024/05/16 16:59
isalnum(int c);功能:判断字符c是否为字母或数字那么    key=bioskey(0);    if(isalnum(key & 0xff)){
首先这里的变量key应该是int类型的,在32位机上int型有4个字节,需要判断的字符为一个字节。
key & 0xff的目的是把key代表的值的高位清0,即使前3个字节清0,保留最后一个字节。0xff是十六进制,十进制为255,二进制为1111 1111&运算符是与运算
bioskey(0)函数返回的是按键的扫描码,若低位不为0,此时表示字符的ASCLL码.
若低位为0 ,高位是表示控制键,即CTRL,ALT,光标键等等,
所以要判断字符c是否为字母或数字只要看低位是否为0就可以了.
将key&0xff后,高位变成了0,如果结果为0,表示低位一定是0,那就不是字母或数字,反之就是字母或数字

0 0
原创粉丝点击