可以用usleep函数
创新互联建站的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括成都网站建设、做网站、电商网站开发、微信营销、系统平台开发。
单位是微妙
比如
usleep(1000);
这个是暂停一毫秒。
usleep(10);
暂停10微秒
开始计时后,你随便按一个键它stop,再随便按一个键它接着计时。可以在线讨论一下。
#include bios.h
#include stdio.h
void delay(int n);
unsigned char h1,h2,m1,m2,s1,s2,w1,w2;
void main()
{
char k;
char tmp;
printf("Please input S or s to start the timer : ");
scanf("%s",k);/* 输入‘s’或者‘S’开始计时; */
h1=h1=m1=m2=s1=s2=w1=w2=0;
if(k=='s'||k=='S')
{
while(1)
{ while(!bioskey(1))
{
printf("time:%d%d:%d%d:%d%d:%d%d\r",h1,h2,m1,m2,s1,s2,w1,w2);
delay(2900);
w2++;
if(w29)
{w1++;w2=0;}
if(w15)
{s2++;w1=0;}
if(s29)
{s1++;s2=0;}
if(s15)
{m2++;s1=0;}
if(m29)
{m1++;m2=0;}
if(m15)
{h2++;m1=0;}
if(h23)
{h1++;h2=0;}
if(h12)
{printf("To the max value, it couldn't go on any more!\n");break;}
}
tmp = bioskey(0);
printf("time:%d%d:%d%d:%d%d:%d%d\r",h1,h2,m1,m2,s1,s2,w1,w2);
while(!bioskey(1));
tmp = bioskey(0);
}
}
else printf("Input error! Please input again :\n");
}
void delay(int n)
{
int i,j;
for(i=0;in;i++)
for(j=0;jn;j++)
;
}
1、delay函数是一般自己定义的一个延时函数。
2、C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。
// 定义一个延时xms毫秒的延时函数
void delay(unsigned int xms) // xms代表需要延时的毫秒数
{
unsigned int x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}
时间是不能暂停的,计算机时钟一直在走,关机后靠电池还在走。
如果你指让计算程序暂停,是可以的。
按某一个键使程序暂停, 用 _kbhit() , 检查是否 按了指定的暂停键:
#include conio.h
#include stdio.h
void main( void )
{
int p;
Lab:
while( !_kbhit() ){
_cputs( "Please Hit me!!\n " ); // 程序一直在执行,直到你按一个键才停
}
p = _getch(); // 判断是什么键
if (p == 's') printf( "\nStop\n"); // 如果是 s 键 停下来
else goto Lab; // 否则 回到头上
// 停下来 就到了这里,用类似方法, 添加 p = _getch(); 是否按了键,按的是否是 继续运行的键,。。。。
_getch();
}
========
遇到 system("pause") ;getch(); getchar() 等等 程序会立即停下来等待输入。
不能实现 程序在继续运行状态下 等待键的输入。只有 _kbhit 满足你的要求。
除非 用 C++ 作 键盘事件控制。