在C++中,timeval
结构体用于表示时间值,包括秒和微秒
#include <iostream>
#include <sys/time.h>
#include <unistd.h>
int main() {
// 创建一个timeval结构体实例
struct timeval timeout;
// 设置超时时间为5秒
timeout.tv_sec = 5;
timeout.tv_usec = 0;
// 在此示例中,我们将使用select()函数来等待某个事件发生
// 使用timeout作为超时参数
int ret = select(0, nullptr, nullptr, nullptr, &timeout);
if (ret == -1) {
std::cerr << "select() error" << std::endl;
} else if (ret == 0) {
std::cout << "Timeout occurred" << std::endl;
} else {
std::cout << "Event occurred or select() returned an error" << std::endl;
}
return 0;
}
在这个示例中,我们创建了一个timeval
结构体实例timeout
,并将其秒值设置为5,微秒值设置为0。然后,我们使用select()
函数等待某个事件发生,并将timeout
作为超时参数传递。如果select()
在5秒内没有返回,它将返回0,表示超时发生。