stat
syscall返回time_t,这是第二分辨率.
解决方法
time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last status change */
但是http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html的“NOTES”部分说:
Since kernel 2.5.48,the stat structure supports nanosecond resolution for the three file timestamp fields. Glibc exposes the nanosecond component of each
field using names of the form st_atim.tv_nsec if the _BSD_SOURCE or
_SVID_SOURCE feature test macro is defined. These fields are specified in
POSIX.1-2008,and,starting with version 2.12,glibc also exposes these field
names if _POSIX_C_SOURCE is defined with the value 200809L or greater,or
_XOPEN_SOURCE is defined with the value 700 or greater. If none of the
aforementioned macros are defined,then the nanosecond values are exposed with
names of the form st_atimensec.
所以,nsec部分的时间是相同的“struct stat”:(/usr/include/asm/stat.h)
unsigned long st_atime_nsec; unsigned int st_mtime_nsec; unsigned long st_ctime_nsec; #define STAT_HAVE_NSEC 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。