1. 首页
  2. 操作系统
  3. Unix
  4. utime函数-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

utime函数-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

上传者: 2024-07-15 21:55:47上传 PDF文件 18.16MB 热度 9次

utime函数是用于更改文件的存取和修改时间的函数。其函数原型如下:


#include <sys types.h="">

#include <utime.h>



int utime(const char *pathname, const struct utimbuf *times);

utime.h>sys>

返回值:若成功则返回0,若出错则返回-1。该函数使用的结构是:


struct utimbuf {

    time_t actime;  /* access time */

    time_t modtime; /* modification time */

};

此结构中的两个时间值是日历时间,表示自1970年1月1日00:00以来的秒数。函数的操作以及其执行所要求的权限取决于times参数是否为NULL。

(1) 如果times是一个空指针,则存取时间和修改时间都设置为当前时间。为了执行此操作必须满足以下两条件之一:

(a) 进程的有效用户ID必须等于该文件的所有者ID;

(b) 进程对该文件必须具有写权限。

(2) 如果times是非空指针,则存取时间和修改时间被设置为times所指向的结构中的值。此时,进程的有效用户ID必须等于该文件的所有者ID,或者进程必须是一个超级用户进程。仅对文件具有写权限是不够的。注意,不能对更改状态时间st_ctime指定值,当调用utime函数时,此字段被自动更新。

在某些UNIX版本中,touch命令使用此函数。另外,标准归档程序tar和cpio可选地调用utime,以将文件的时间值设置为归档时的值。实例程序4-6使用带O_TRUNC选项的open函数将文件长度截短为0,但并不更改其存取时间及修改时间。为了实现这一点,首先用stat函数得到这些时间,然后截短文件,最后再用utime函数重置这两个时间。

为了更好地理解和应用utime函数,可以参考以下资源:

  1. Linux服务器编程之utime函数修改文件存取时间

  2. UNIX环境高级编程020_附录函数原型

  3. Unix高级编程PDF

  4. UNIX环境高级编程pdf

  5. unix高级编程.pdf

用户评论