使用C运行库中的函数,因此具有平台移植性
包含头文件:time.h
#include <time.h>
函数介绍:
1. clock()
功能:
返回处理器调用某个进程或函数所花费的时间
函数原型:
clock_t clock( void );
返回值:
如果成功,返回 该进程从开始执行,到调用clock()时刻,CPU的滴答数(clock_t是一个长整形数)
如果失败,返回-1;
注意:如果要将clock_t 换算成秒或者毫秒,需要除以CLOCKS_PER_SECCLK_TCK 或者CLK_TCK(6.0版本之前的名称)
在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一 秒钟会有多少个时钟计时单元,其定义如下
#define CLOCKS_PER_SEC ((clock_t)1000)
2. difftime()
功能:
返回两个time_t型变量之间的时间间隔,即 计算两个时刻之间的时间差。
函数原型:
double difftime( time_t timer1, time_t timer0 );
参数:
timer1:结束时刻
timer0:开始时刻
返回值:
双精度的浮点型数值
注意:clock_t和time_t都是unsigned long类型的数值,但一个表示毫秒,一个表示秒
示例:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
time_t c_start,t_start, c_end,t_end;
c_start = clock();
t_start = time(NULL) ;
//用来暂停一下
system("pause");
c_end = clock();
t_end = time(NULL) ;
printf("The pause used %f ms by time().\n", difftime(c_end,c_start));
printf("The pause used %f s by clock().\n", difftime(t_end,t_start));
}
输出结果:
The pause used 12203.000000 ms by time().
The pause used 13.000000 s by clock().