C语言如何使用键盘按键中止程序
发布网友
发布时间:2022-05-26 15:17
我来回答
共4个回答
热心网友
时间:2023-10-23 22:27
呵呵,这倒是有个函数的!!!
kbhit(),这个函数是你可以随便按一个按键就是1,如果你没有按下任何的按键,那就是0;所以就可以把这个函数用在某个循环上面,比如:
while(!kbhit())
{......
.....
...
}
当你不按按键的时候,kbhit()函数就是0,!kbhit()就是1;所以就一直循环下去,直到你按下按键的时候kbhit()就为1了,!kbhit()就为0了;循环就结束了,但这必须是你按键的时候不是给某个输入函数输入!!!
还是给你个例子吧,下面是一个在TC中获取系统时间的程序,直到你按下按键就不再更新时间了!!!
#include <stdio.h>
#include <bios.h>
#include <time.h>
#include <conio.h>
int main()
{struct tm *aa;
int year,month,days,sec,min,hour,tian,xingqi;
long bios_time,t1;
while(!kbhit())
{
bios_time = biostime(0, 0L);
sec=(long)(bios_time / CLK_TCK)%60;
min=(long)(bios_time / CLK_TCK / 60)%60;
hour=(long)(bios_time/ CLK_TCK / 3600);
time(&t1);
aa=gmtime(&t1);
year=aa->tm_year+1900;
month=aa->tm_mon+1;
days=aa->tm_mday;
tian=aa->tm_yday+1;
xingqi=(aa->tm_wday)%7;
gotoxy(5,6);
printf("%d/%.2d/%.2d %.2d:%.2d:%.2d\t xing qi %d\t\t ben nian di %d tian\n",year,month,days,hour,min,sec,xingqi,tian);
}
getch();
}
热心网友
时间:2023-10-23 22:28
程序正常走,重新起一个线程,监听键盘,当收到想要的键值时候,通知主线程来完成工作。
热心网友
时间:2023-10-23 22:28
单片机的C语言么?先定义端口。比如说定义P0.0口为key
if(key==0)
{
while(!key);
}
热心网友
时间:2023-10-23 22:29
需要用到多线程,主线程进行业务处理,附线程循环接收外设输入