用c++写一个秒表程序,误差小于1s,且不受系统时间的影响
时间: 2024-01-22 08:19:24 浏览: 90
以下是一个简单的C++秒表程序,使用了C++11中的<chrono>库来计时,误差在1毫秒以内,且不受系统时间的影响。
```c++
#include <iostream>
#include <chrono>
int main() {
auto start_time = std::chrono::high_resolution_clock::now();
while (true) {
auto current_time = std::chrono::high_resolution_clock::now();
auto elapsed_time = std::chrono::duration_cast<std::chrono::milliseconds>(current_time - start_time);
std::cout << elapsed_time.count() / 1000 << "s " << elapsed_time.count() % 1000 << "ms" << std::endl;
// 延迟1毫秒,避免CPU过度占用
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
return 0;
}
```
程序使用了高分辨率时钟,可以精确计时。每次循环都计算当前时间与起始时间的差值,并输出秒数和毫秒数。为避免CPU过度占用,使用了1毫秒的延迟。
阅读全文