在C++中,timeval
结构体用于表示时间值,包括秒和微秒
#include#include #include 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,表示超时发生。