扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
延迟函数,一般建议调用系统函数。不建议循环。
郧西网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
特别是多任务操作系统,循环会消耗系统资源。
如果是Dos,indows,linux系统建立调用 Sleep()函数。
其他系统,请自行查找。
包含头文件:
#include
windows.h
调用
Sleep(3000);
就是等待3000毫秒(3秒)。第一个字母S大写。
--------
也可以自己写一个
等待
整数秒的函数:
#include
time.h
void
wait
(
int
seconds
)
{
clock_t
endwait;
endwait
=
clock
()
+
seconds
*
CLK_TCK
;
while
(clock()
endwait)
{}
}
调用
wait(3);
就是等待3秒
C语言的延迟函数一般是利用无意义程序运行来控制时间从而达到延时的目的
举个例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
这是延时x毫秒的for循环语句。
值得注意的是记得最后的;一定得记得写。
sleep()函数大概只能精确到50ms左右,你用sleep(10)是肯定不行的,如果你要精确的定时的话可以使用QueryPerformanceFrequency()函数,用法为:
LARGE_INTEGER litmp;
LONGLONG QPart1,QPart2;
double dfMinus, dfFreq, dfTim;
QueryPerformanceFrequency(litmp);
dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率
QueryPerformanceCounter(litmp);
QPart1 = litmp.QuadPart;// 获得初始值
do
{
QueryPerformanceCounter(litmp);
QPart2 = litmp.QuadPart;//获得中止值
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
}while(dfTim0.001);
其定时误差不超过1微秒,精度与CPU等机器配置有关。
×××××××××××××××××××××××××
sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.
比如,等待0.1秒:
sleep(100);
标准库的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.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流