如何使用timeval表示10毫秒?

时间:2009-06-10 19:30:49

标签: c unix

如何使用timeval表示10毫秒?

这是我到目前为止所做的:

struct timeval now;
now.tv_usec =10000; 

3 个答案:

答案 0 :(得分:25)

struct timeval表示时间为秒数(tv_sec)加上0到999,999之间的微秒数(tv_usec)。因此,要表示10毫秒,您将使用10,000微秒,如您所建议的那样:

struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 10000;

答案 1 :(得分:13)

对于将毫秒转换为timeval struct use的更一般情况:

int milliseconds = 10;
struct timeval now;
now.tv_sec = milliseconds / 1000;
now.tv_usec = (milliseconds % 1000) * 1000;

答案 2 :(得分:5)

它是

 struct timeval {
    int tv_sec;    // seconds 
    int tv_usec;   // microseconds!

所以现在。

tv_sec = 0;
tv_usec = 10000; 

` 会是对的