发布网友 发布时间:2022-04-22 16:49
共3个回答
热心网友 时间:2023-09-23 07:29
windows/dos可以用conio.h里的getch/getche和kbhit
linux下没有, 需要用终端IO的写, 你可以到网上搜写好的,或者找一些库
getch按键立即返回, 不用等按回车再返回, getche是getch的有回显版本,
kbhit是检查是否有按键, getch没按键时也不返回, 你可以用kbhit检查下是否按键,有再调用getch
vc里可能只有_getch/_getche/_kbhit
命令行程序这些凑活了, 窗口程序就是另外一回事了
热心网友 时间:2023-09-23 07:29
#include<stdio.h>
#include <sys/timeb.h>
#include <time.h>
#include <dos.h>
#include <conio.h>
int main(void)
{
unsigned long t1,t2,elapsed_time;
unsigned long t11,t21;
char ch;
struct timeb timebuffer;
ftime(&timebuffer);
t11=timebuffer.time;
t1=timebuffer.millitm;
while(1)
{
if( kbhit() )
{
ch=getchar();
printf("%c",ch);
}
ftime(&timebuffer);
t21=timebuffer.time;
t2=timebuffer.millitm;
elapsed_time =1000*(t21-t11)+t2-t1;
if(elapsed_time>1000) break;
}
return 0;
}
热心网友 时间:2023-09-23 07:30
EA=1;开CPU所有中断使能
ET0=1;开定时器0中断使能
TMOD=0x01;TMOD是定时器工作寄存器,设定时器工作模式
TH0=-5000/256;定时器0的高8位
TL0=-5000%256;定时器0的低8位
TR0=1;启动定时器0
IE0=0
;IE0是定时器0中断标志