utime函数

utime函数:对一个文件的访问和修改时间

#include <utime.h>
int utime( const char *pathname, const struct utimbuf *times );
                                       返回值:若成功则返回0,若出错则返回-1

此函数所使用的数据结构是:

struct utimbuf {
    time_t actime;    /* access time */
    time_t modtime;    /* modification time */
}

 

程序实例:

#include "apue.h"
#include <fcntl.h>
#include <utime.h>

int main(int argc,char *argv[] )

{
  int i,fd;
  struct stat statbuf;
  struct utimbuf timebuf;

  for (i=1;i<argc;i++)
  {
    if (stat(argv[i],&statbuf)<0)
    {
    /*取得当前时间*/
    err_ret("%s:stat error",argv[i]);
    continue;
    }
    if ((fd=open(argv[i],O_RDWR|O_TRUNC))<0)
    {
    /*截短*/
    err_ret("%s:open error ",argv[i]);
    continue;
  }
  close(fd);
  timebuf.actime=statbuf.st_atime;
  timebuf.modtime=statbuf.st_mtime;
  if(utime(argv[i],&timebuf)<0)
  {
  /*retset time*/
  err_ret("%s: utime error",argv[i]);
  continue;
  }
  }
  exit(0);
}

 

运行结果:

原文地址:https://www.cnblogs.com/hezhangyear/p/4031864.html