我是靠谱客的博主 认真棒球,最近开发中收集的这篇文章主要介绍futimens,utimensat,utimes函数1.futimens,utimensat函数原型2.futimens,utimensat函数说明3.utimes函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.futimens,utimensat函数原型

#include<sys/stat.h>
int futimens(int fd, const struct timespec times[2]);
int utimensat(int fd, const char* path, const struct time spec times[2], int flag);
成功返回0,失败返回-1.

2.futimens,utimensat函数说明

两个函数的times结构体数组,第一个指向access time,第二个指向modification time。
时间戳有四种设置方式:
1.如果时间参数times是空指针。那么两个时间都被设置为当时时间。
2.如果时间参数times指向timespec结构体,任何一个tv_nsec是UTIME_NOW,那么相应的时间戳被设置为当前时间,其tv_sec忽略。
3.如果时间参数times指向timespec结构体,任何一个tv_nsec是UTIME_OMIT,那么相应时间戳不修改,tv_sec忽略。
4.如果时间参数times指向timespec结构体,并且两个tv_nsec既不是UTIME_NOW,也不是UTIME_OMIT,那么时间戳被设置为指向的结构体时间。
两个函数需要的权限:
1.如果时间参数为空指针或者tv_nsec为UTIME_NOW,那么进程有效用户ID必须等于文件所有者;或者进程对文件有写权限;或者进程是超级用户进程。
2.如果时间参数不是空指针并且tv_nsec不是UTIME_NOW和UTIME_OMIT,那么进程有效用户ID必须等于文件所有者;或者进程是超级用户进程。仅仅有写权限是不够的。
3.如果时间参数不是空指针,并且两个tv_nsec都是UTIME_OMIT,那么不需要权限检查。

3.utimes函数

int utimes(const char* path, const struct timeval times[2]);
我们并不能修改st_ctm--inode状态修改时间。当utimes被调用后,这个时间被自动更新。





最后

以上就是认真棒球为你收集整理的futimens,utimensat,utimes函数1.futimens,utimensat函数原型2.futimens,utimensat函数说明3.utimes函数的全部内容,希望文章能够帮你解决futimens,utimensat,utimes函数1.futimens,utimensat函数原型2.futimens,utimensat函数说明3.utimes函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部