sys/time.h 和 time.h的区别


[转载,侵删]


time.h 是ISO C99 标准日期头文件。

sys/time.h 是Linux系统的日期头文件。

注: sys/time.h 通常会包含include “time.h”

一、time.h

编写的代码如果与平台无关的,则需要在代码里 #include “time.h” 但这样使用time_t等数据结构的话需要手动

#define __need_time_t
#define __need_timespec

二、sys/time.h

gettimeofday() 函数在sys/time.h 内。

定义 : int gettimeofday(struct timeval * tv, struct timezone * tz);

函数说明:gettimeofday()会把目前的时间用__restrict结构体返回,当地时区的信息则放到tz的结构中国。。

结构体:

  1. timeval

struct timeval
{
long tv_sec; /* 秒 /
long tv_usec; /
微秒 */
};
2. timezone

struct timezone{
  int tz_minuteswest;/* 和 greenwich 时间差来多少分钟*/
  int tz_dsttime;/*type of DST correction */
}
3. 在 gettimeofday()函数中tv 或者 tz 都可以为空。 如果为空就不返回其对应的结构体。

  1. 函数在执行成功后返回0, 失败后返回-1, 错误代码存在于errno 中。

本文链接: http://www.luyixian.cn/news_show_269873.aspx

Logo

更多推荐