温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中的时间函数clock()和time()有什么用

发布时间:2022-02-23 15:11:39 来源:亿速云 阅读:207 作者:小新 栏目:开发技术

小编给大家分享一下C语言中的时间函数clock()和time()有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

时间函数在编写代码的时候会经常用到,下面就来总结一下clocktime函数的用法,函数原型如下:

  clock_t __cdecl clock(void);
  __CRT_INLINE time_t __cdecl time(time_t *_Time);

clock函数

clock函数返回程序从运行开始到当前调用函数位置处CPU所使用的时间,通过这个函数就可以计算某段代码运行时所使用的时间。

下面通过一段简单的代码测试一下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	clock_t start_t, end_t;
	start_t = clock();
	sleep(1);
	end_t = clock();
	printf("%d %d",start_t,end_t); 
	return 0;
}

刚进入程序时通过clock函数读取当前CPU所使用的时间,然后使用sleep函数延时1秒,接着在使用clock函数读取当前CPU所使用的时间,这样这两个时间差应该就是1秒。程序运行结果如下:

C语言中的时间函数clock()和time()有什么用

通过打印的结果可以看出,第一次读取的CPU时间是0,第二次读取的CPU时间是1000,在程序中延时了1秒,说明clock函数返回的时间单位是毫秒(ms)。

如果要将程序运行的时间换算为以秒为单位的话,这里就需要计算两次运行的时间差,然后除以每秒钟系统的计数次数。系统中每秒钟的计数次数用一个宏定义的值来表示。

#define CLOCKS_PER_SEC 1000

这个CLOCKS_PER_SEC的值为1000,说明CPU1秒钟计数1000次,也就是1ms计数一次,这个和上面分析的结果是一样的。

修改程序,将时间换算为秒,继续测试。

C语言中的时间函数clock()和time()有什么用

通过结果可以看出这个循环耗时32ms,也就是0.032s。

time函数

time函数返回的是从 1970-01-01 00:00:00 开始到现在所经过的秒数。

下面通过一个简单的代码演示一下time函数的用法。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	time_t seconds;
	seconds = time(NULL);
	printf("自1970-01-01 起的秒数:%d s",seconds);
	return 0;
}

time函数返回值是一个time_t的类型,它的本质其实也是一个整形数据。

C语言中的时间函数clock()和time()有什么用

函数返回的是一个整形的秒数,将返回值打印出来,结果如下:

C语言中的时间函数clock()和time()有什么用

将这个秒数通过时间戳在线转换网站转换为年月日,转换网址为: https://tool.lu/timestamp/ 转换结果如下:

C语言中的时间函数clock()和time()有什么用

转换后的时间和程序运行时的时间是一样的,说明time函数返回的时间是准确的,这样在程序运行过程中想要获取准确的时间时,就可以通过time函数来获取系统的准确时间。

以上是“C语言中的时间函数clock()和time()有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI