首页 > 运维 > linux运维 > 正文

CC++中计时、延时函数「建议收藏」

星夢妙者
发布: 2025-07-16 09:04:30
原创
658人浏览过

大家好,又见面了,我是你们的朋友全栈君。

C\C++标准库中提供了两种计时函数clock()和time()。其用法如下: (1)clock()函数用法

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">void timeConsume(){    double start,stop,durationTime;    start = clock();    /*    ...代码片段    */    stop = clock();    durationTime = ((double)(stop-start))/CLK_TCK;    cout << "程序耗时:" << durationTime << " s" << endl;}</code>
登录后复制

clock()函数返回值类型为clock_t.该函数计算结果是以内部处理器时间为计量单位的,所以必须把它除以时钟频率,从而得到以秒为单位的时间。这种方法在机器上测量的很精确。在这里Windows和Linux环境下会有所区别. Linux环境下,处理器内部时间频率为:CLOCKS_PER_SEC.

(2)time()函数用法

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">void timeConsume(){    double start,stop,durationTime;    start = time(NULL);    /*    ...代码片段    */    stop = time(NULL);    durationTime = (double)difftime(stop, start);    cout << "程序耗时:" << durationTime << " s" << endl;}</code>
登录后复制

time()函数返回值类型为time_t,所以也需要在输出前将其转换为double类型。与clock不同的是time()函数有一个参数,用来说明存放时间信息的位置。由于并不想保存这个时间,所以将参数设置为NULL。但是这种计时方法不如clock()函数精确,但是它不需要有关时钟频率的信息。

立即学习C++免费学习笔记(深入)”;

(3)延时函数

在标准库中可以使用Sleep()函数进行延时,其单位是毫秒,如果想要延迟5秒则其方法如下:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">Sleep(5*1000);</code>
登录后复制

在MFC中也可以使用_sleep()函数进行实现延时功能。在Windows环境下,Sleep()函数首字母大写,而在Linux系统下sleep()函数首字母要小写。在Linux系统中sleep()函数的单位是秒而不是毫秒,而在Windows环境下Sleep()函数是以毫秒为单位。这是两者之间的区别。

ViiTor实时翻译
ViiTor实时翻译

AI实时多语言翻译专家!强大的语音识别、AR翻译功能。

ViiTor实时翻译116
查看详情 ViiTor实时翻译

Windows环境下计时延时函数代码如下:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">#include <iostream>#include <Windows.h>using namespace std;int main(){    double start, stop, durationTime;    start = clock();    Sleep(5 * 1000);    //程序延时5s    stop = clock();    durationTime = ((double)(stop - start)) / CLK_TCK;    cout << "总耗时:" << durationTime << endl << endl;    return 0;}</code>
登录后复制

运行结果如图所示:

C\C++中计时、延时函数「建议收藏」

Linux环境下代码如下:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">#include <iostream>#include <unistd.h>using namespace std;int main(){    double startTime,stopTime,durationTimeTime;    startTime=time(NULL);    sleep(5);    stopTime=time(NULL);    durationTimeTime = (double)difftime(stopTime,startTime);    cout << "耗时(time): " << durationTimeTime << " s" << endl;    return 0;}</code>
登录后复制

运行结果如图所示:

C\C++中计时、延时函数「建议收藏」

感兴趣的小伙伴可以在Linux环境下试一下clock()函数,目瞪口呆!!!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148999.html原文链接:https://javaforall.cn

以上就是CC++中计时、延时函数「建议收藏」的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号