头文件中conio.h是控制台输入输出,即 console IO
_kbhit() 是key board hit的缩写。这个函数是一直在等待键盘输入,所以我们需要用循环来持续等待输入
#include<stdio.h>
#include<conio.h>
int main()
{
char ch;
while(1)
if (_kbhit())
ch = _getch(), printf("%d\n", ch);
return 0;
}但是这里输出总是会输出-32再输出相应的码,不知道为什么
通过下面程序验证可以知道那个-32不是这四个方向的数据
#include<stdio.h>
#include<conio.h>
int main()
{
char ch;
while(1)
if (_kbhit()) {
ch = _getch();
switch(ch) {
case 72:printf("向上\n"); break;
case 80:printf("向下\n"); break;
case 75:printf("向左\n"); break;
case 77:printf("向右\n"); break;
}
}
return 0;
}
本文探讨了头文件conio.h中的_kbhit()与_getch()函数的应用,展示了如何使用这两个函数来检测并读取控制台键盘输入。通过具体代码示例解释了-32现象的原因,并提供了解决方案。

6881

被折叠的 条评论
为什么被折叠?



