utime函数:对一个文件的访问和修改时间
#includeint 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);}
运行结果: