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

发布时间 - 2025-07-16 00:00:00    点击率:

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

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

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

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

(2)time()函数用法

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

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

(3)延时函数

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

代码语言:javascript代码运行次数:0运行复制
Sleep(5*1000);

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

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

代码语言:javascript代码运行次数:0运行复制
#include #include 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;}

运行结果如图所示:

Linux环境下代码如下:

代码语言:javascript代码运行次数:0运行复制
#include #include 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;}

运行结果如图所示:

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

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


# linux  # windows  # ai  # c++  # 区别  # 标准库  # JavaScript  # html  # NULL  # double  #   # 值类型  # https  # mfc  # 而在  # 可以使用  # 库中  # 返回值  # 的是  # 如图所示  # 首字母  # 这是  # 我是  # 在这里 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何自定义建站之星网站的导航菜单样式?  如何快速搭建二级域名独立网站?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何快速生成凡客建站的专业级图册?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  如何正确下载安装西数主机建站助手?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  高端建站三要素:定制模板、企业官网与响应式设计优化  如何快速搭建虚拟主机网站?新手必看指南  高防服务器租用指南:配置选择与快速部署攻略  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何使用Blade组件和插槽?(Component代码示例)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何发送系统通知?(Notification渠道示例)  公司门户网站制作流程,华为官网怎么做?  高端云建站费用究竟需要多少预算?  网站制作企业,网站的banner和导航栏是指什么?  如何用低价快速搭建高质量网站?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Android GridView 滑动条设置一直显示状态(推荐)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何快速搭建个人网站并优化SEO?  如何在香港免费服务器上快速搭建网站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何为不同团队 ID 动态生成多个“认领值班”按钮  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何在万网自助建站平台快速创建网站?  如何自定义建站之星模板颜色并下载新样式?  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel怎么在Blade中安全地输出原始HTML内容  制作电商网页,电商供应链怎么做?  免费视频制作网站,更新又快又好的免费电影网站?  如何快速建站并高效导出源代码?  Laravel如何升级到最新版本?(升级指南和步骤)  如何在局域网内绑定自建网站域名?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  JS碰撞运动实现方法详解  如何获取PHP WAP自助建站系统源码?  Laravel如何自定义错误页面(404, 500)?(代码示例)