2. int gettimeofday(struct timeval *tv,struct timezone*tz),会把目前的时间tv所指的结构返回,当地时区的信息则放到tz所指的结构中。这两个结构都放在/usr/include/sys/time.h中。 单位
微秒(μs)
#include <stdio.h>
#include <stdlib.h> //malloc要用,没有的话,会有警告信息:隐式声明与内建函数'malloc'不兼容。不过警告信息不用管也没事
#include <assert.h>
#include <sys/time.h>
int main()
{
float time_use=0;
struct timeval start;
struct timeval end;
//struct timezone tz; //后面有说明
gettimeofday(&start,NULL);//gettimeofday(&start,&tz);结果一样
printf("start.tv_sec:%d\n",start.tv_sec);
printf("start.tv_usec:%d\n",start.tv_usec);
sleep(3);
gettimeofday(&end,NULL);
printf("end.tv_sec:%d\n",end.tv_sec);
printf("end.tv_usec:%d\n",end.tv_usec);
time_use=(end.tv_sec-start.tv_sec)*1000+(end.tv_usec-start.tv_usec)/1000000;//毫秒
printf("time_use is %f\n",time_use);
//输出:time_use is 3001410.000000
tv_usec的单位好像是纳秒
//下面的采用指针的方式也可以,但是要注意指针类型若不分配内存的话,编译正确,但是运行结果会不对
}