阅读量:124
在C++中,timeval结构体用于表示时间值,包括秒和微秒
#include
#include
int main() {
// 创建两个timeval结构体实例
struct timeval t1, t2;
// 获取当前时间(t1)和另一个时间点(t2)
gettimeofday(&t1, NULL);
// 假设t2是在某个事件发生后获取的
gettimeofday(&t2, NULL);
// 计算时间差(以微秒为单位)
long usec_diff = t2.tv_usec - t1.tv_usec;
long sec_diff = t2.tv_sec - t1.tv_sec;
// 如果微秒差值为负数,则从秒差值中减去1,并将微秒差值加上1000000
if (usec_diff < 0) {
sec_diff -= 1;
usec_diff += 1000000;
}
// 输出时间差(以秒和微秒为单位)
std::cout << "Time difference: " << sec class="hljs-string">" seconds, " << usec class="hljs-string">" microseconds" << std class="hljs-keyword">return 0;
}
这个示例首先获取当前时间(t1)和另一个时间点(t2),然后计算它们之间的时间差(以微秒为单位)。如果微秒差值为负数,代码会将其调整为正数。最后,代码输出时间差(以秒和微秒为单位)。