getch()问题
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void main()
{
char mychar= '\0 ' ;
while(mychar!=0x004d) //0x004d是方向键right.
{
mychar = getch();
if(mychar!=0x004d)
printf( "%c ",mychar);
}
}
编译连接没问题,只是运行时,按right方向键后,显示如下:
郏press any key to continue
为什么多显示郏字?
[解决办法]
你在纯DOS环境下,就不会有这个问题了。
[解决办法]
右方向键实际上是两个char组成的。象F1这些键也是。
至于显示,因为是特殊键。当然无法显示出来。所以在dos窗口下被当作两个字节的汉字输出了。
[解决办法]
方向键 是特殊键,
是有两个字节组成的编码,
所以会有这样的结果 ~!~
也就是按一个键,
将得到两个字节的输入,
while 输出printf( "%c ",mychar); 就得到了这样的结果 ~