绪:
clock()是C/C++中的计时函数,返回数据类型为clock_t;
time()可获适当前系统运行时候,也是计时函数,返回类型是time_t;
本文本家儿要介绍clock()和time()的界说;用法;和示例;

方式/步调
- 1
clock()计时函数:
①头文件:
C++头文件ctime,time.h中的库函数clock(),供给了测试函数运行时候的方式:
②clock()返回类型为clock_t类型;
③clock_t类型:clock_t现实为long 类型,long clock_t;
④常量CLOCKS_PER_SEC,暗示每一秒(per second)有几多个时钟计时单位;
即每过千分之一秒(1毫秒),挪用clock()函数返回的值就加1;
- 2
clock()函数功能:
返回从开启这个法式历程到挪用clock()函数之间的CPU时钟计时单位数即挂钟时候,
单元是毫秒;
【注】:
法式中,若是写当作(double)((finish - start) / CLOCKS_PER_SEC)这种形式,
一般环境下这个值会为0.0000,错误;
因为:finish,start,CLOCKS_PER_SEC均为long型变(常)量,若finish-start < 1000,则
(finish - start) / CLOCKS_PER_SEC = 0,再将其强制转换为double型数据,获得0.0000。
而若是写当作(double)(finish - start) / CLOCKS_PER_SEC,先会将finish - start转换当作double型数据,然后执行"/"操作,则编译器主动将CLOCKS_PER_SEC晋升为double型,故而是两
个double数据相除能获得准确成果。
- 3
clock()函数应用:
clock函数来计较你的机械运行一个轮回或者处置其它事务到底花了几多时候:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* 测量一个事务持续的时候*/
printf( "Time to do %ld empty loops is ", i) ;
start = clock();
while( i-- );
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );
system("pause");
}
- 4
time计时函数:
①头文件为time.h
②函数原型:time_t time(time_t * timer)
③功能: 获取当前的系统时候,返回的成果是一个time_t类型;
其实就是一个年夜整数,其值暗示从CUT(Coordinated Universal Time)时候1970年1月1日00:00:00(称为UNIX系统的Epoch时候)到当前时刻的秒数。
然后挪用localtime将time_t所暗示的CUT时候转换为当地时候(我们是+8区,比UTC多8个小时)并转当作struct 类型,该类型的各数据当作员别离暗示年代日时分秒。
- 5
time_t数据类型:
time函数的原型也可以理解为 long time(long *tloc),即返回一个long型整数。
因为在time.h这个头文件中time_t现实上就是long。
【注】:
①因为time_t类型编码不克不及确定,所以尽量不要用t1-t2体例计较两个time_t之间的时候距离,而应该用double difftime( time_t time_end, time_t time_beg )函数计较时候距离。
②time_t暗示计较机ji yuan时候,struct 暗示尺度日历时候。
- 6
time函数应用:
计时示例:
time_t start, end;
start = time(NULL);
_sleep(1000);
end = time(NULL);
printf("duration: %lf\n", difftime(end, start));
//time()函数连系其他函数
//获适当前系统时候或是尺度时候。
#include <stdio.h>
#include <time.h>
int main()
{
time_t timer;//time_t就是long int 类型
....
timer = time(NULL);//这一句也可以改当作time(&timer);
tblock = localtime(&timer);
printf("Local time is: %s\n",asctime(tblock));
getchar();
return 0;
}
注重事项
- clock()返回类型为clock_t类型;clock_t现实为long 类型
- time获取当前的系统时候,返回的成果是一个time_t类型
来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/239062.html
- 上一篇: 教你如何用python设置和获得Tkinter窗口位置
- 下一篇: 重新命名文件夹的方法是什么
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
希瑟(Heather)——欧美十大最佳柯南灰歌
二人梭哈
faceu激萌怎么把瘦脸开到最大
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:200248
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:497