c++ - C++打印时差?
问题描述
在 C++ 中,我写道:
time_t tmp1, tmp2;
time(&tmp1);
sleep(1);
time(&tmp2);
std::cout << tmp2-tmp1;
但是每次我运行它我都会看到 1 打印出来,为什么结果太完美了?它不应该包含几毫秒吗?
解决方案
我建议使用std::chrono::steady_clock
计时功能:
auto const start = std::chrono::steady_clock::now();
f();
auto const stop = std::chrono::steady_clock::now();
auto const duration = stop-start;
auto const duration_ms = std::chrono::duration_cast<std::chrono::milliseconds>(duration);
// ^^^^^^^^^^^^
std::cout << duration_ms.count();
推荐阅读
- html - 如何检查一个值是否在数组中并使用复选框进行检查
- kubernetes - 如何从 kube 集群外部调用服务中的特定 pod
- sql-server - 创建大型 xml 文件时出现 SSIS-MEMORY 错误
- javascript - 如何检查表单中是否单击了动态生成的单选按钮?
- android - 如何将数据从 arduino 发送到通过 wifi 处理?
- c# - 小数字段必须是 .net core 2.2 中的数字
- php - 隐藏 proc_open 命令的输出
- c# - 在 postgres 中读取已提交的隔离级别
- amazon-web-services - How to connect to AWS EMR via AWS QuickSight
- java - Read file with ClassLoader