网上很多人写到,timeval结构解释错误
*******************************************************************
问题如下:
在debian linux的man页中对gettimeofday函数的说明中,有这样一个说明:
DESCRIPTION
    The functions gettimeofday and settimeofday can get and set the time as
    well as a timezone. The tv argument is a timeval struct, as specified
    in <sys/time.h>:
    struct timeval {
          time_t       tv_sec;     /* seconds */
          suseconds_t   tv_usec; /* microseconds */
    };
其中对tv_usec的说明为时间的毫秒部分。 而在实际中,该函数以及Linux内核返回的timeval
类型的时间值,tv_usec代表的是微秒精度(10的-6次方秒)。
********************************************************************
我很无语,只能说写这话的人英语很水,microsecond 是微秒的意思,简写为usec
毫秒的英语单词是millisecond,简写为msec
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
int main(int argc,char * argv[])
{
    struct timeval tv;
    while(1)
  {
          gettimeofday(&tv,NULL);
          printf("time %u:%u\n",tv.tv_sec,tv.tv_usec);
          sleep(2);
     }
    return 0;
}
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号