首页 > 代码库 > 文件和目录详解(九)---三种文件时间以及utime函数详解

文件和目录详解(九)---三种文件时间以及utime函数详解

文件有三种时间,分别是:
  • 文件数据的最后访问时间------read函数会修改
  • 文件数据的最后修改时间------write函数会修改
  • i 节点状态的最后更改时间----unlink函数会修改
要区分文件数据的修改时间和 i 节点状态更改时间,因为文件数据和 i 节点信息是分开存储的,有些系统调用只会影响 i 节点中的信息,而不会影响文件的数据部分,比如 unlink 函数。
  使用 utime 函数可以修改一个文件的三种时间。
=====================================================
函数原型:
技术分享
技术分享
函数参数:
  • filename:要修改的文件路径名
  • times:指向包含文件时间的结构体
返回值:
  • 调用成功时返回 0
  • 调用失败时返回 -1
======================================================
结构体struct utimbuf的内容如下:
技术分享
技术分享
  可以发现结构中并没有关于 i节点状态最后更改时间,这是因为在调用 utime 函数来修改文件时间的时候会自动去更新 i 节点状态最后更改时间 为当前程序运行的时间。

文件和目录详解(九)---三种文件时间以及utime函数详解