用gettimeofday函数进行10秒计时
时间: 2024-04-09 09:28:30 浏览: 100
gettimeofday函数
好的,你可以使用 `gettimeofday` 函数来进行精确的计时。以下是一个示例代码:
```cpp
#include <iostream>
#include <sys/time.h>
int main() {
std::cout << "开始计时..." << std::endl;
struct timeval start, end;
gettimeofday(&start, NULL);
while (true) {
gettimeofday(&end, NULL);
double elapsedTime = (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec) / 1000000.0;
if (elapsedTime >= 10.0) {
break;
}
}
std::cout << "计时结束!" << std::endl;
return 0;
}
```
这段代码使用了 `<iostream>` 来进行输入输出操作,`<sys/time.h>` 来包含 `gettimeofday` 函数。在 `main` 函数中,我们首先输出 "开始计时...",然后使用 `gettimeofday` 函数获取开始时间 `start`。
接下来,我们进入一个循环,在每次循环中,我们使用 `gettimeofday` 函数获取当前时间 `end`,然后计算经过的时间 `elapsedTime`。如果经过的时间大于等于 10 秒,我们跳出循环。
最后,我们输出 "计时结束!" 并返回 0。
你可以将以上代码复制到一个文件(例如 `timer.cpp`),然后使用以下命令在 Ubuntu 上编译和运行它:
```
g++ timer.cpp -o timer
./timer
```
这将编译代码并生成一个名为 `timer` 的可执行文件。运行 `./timer` 命令后,你将会看到 "开始计时...",然后程序会进行精确的 10 秒计时,最后输出 "计时结束!"。
阅读全文