在Windows下最简单的办法是调用系统函数Sleep(time),单位是ms,在windows.h中声明,注意大小写;不然就用<time.h>中的函数获得当前时间,然后通过比较记录的时间和当前时间,决定作出的动作(不推荐用空循环,这样会占用CPU时间)。
关于C语言的一些时间函数和延时函数都有哪些?
悬赏分:0 - 解决时间:2006-4-18 10:08那个网站上有好一点的C语言函数大全 最佳答案标准库的time.h里有几个时间函数,先教你个实用的把time_t time (time_t *timer)
计算从1970年1月1日到当前系统时间,并把结果返回给timer变量,函数本身返回的也是这个结果.time_t这个类型其实就是一个int.
double difftime ( time_t timer2, time_t timer1 )
把返回time2和time1所储存的时间的差.
利用上面这两个函数可以计算某阶段程序运行用掉的时间.
例如:
#include <stdio.h>
#include <time.h>
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (&start);
printf ("Please, enter your name: ");
gets (szInput);
time (&end);
dif = difftime (end,start);
printf ("Hi %s.\n", szInput);
printf ("You have taken %.2lf seconds to type your name.\n", dif );
return 0;
}
输出如下:
Please, enter your name: Juan Soulie
Hi Juan Soulie.
You have taken 3.00 seconds to type your name.
上面使用time.h,不过好像只能产生秒级的延时。
下面这个是本人修改的:
#include <stdio.h>
#include <time.h>
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (&start);
printf ("Please, enter your name: ");
gets (szInput);
time (&end);
dif = difftime (end,start);
printf ("Hi %s.\n", szInput);
printf ("You have taken %.2lf seconds to type your name.\n", dif );
time (&start);
while( (dif= difftime (end,start) )<5.0 )
{
time (&end);
};
printf ("%.2lf more seconds have gone.Treasure your time!\n", dif );
return 0;
}