首页 > 代码库 > 程序4-6 utime函数实例

程序4-6 utime函数实例

 1 //http://blog.chinaunix.net/uid-24549279-id-71355.html
 2 /*
 3  ============================================================================
 4  Name        : test.c
 5  Author      : blank
 6  Version     :
 7  Copyright   : Your copyright notice
 8  Description : 程序4-6 utime函数实例
 9  ============================================================================
10 */
11 
12 #include <fcntl.h>
13 #include <utime.h>
14 #include <sys/stat.h>
15 #include "ourhdr.h"
16 
17 int main(int argc, char *argv[])
18 {
19     int             i, fd;
20     struct stat     statbuf;
21     struct utimbuf     timebuf;
22 
23     for (i=1; i<argc; i++){
24         printf("argv[%d] = %s\n", i, argv[i]);
25         if (stat(argv[i], &statbuf) < 0){//fetch current times
26             err_ret("%s: stat error", argv[1]);
27             continue;
28         }
29 
30         if ((fd = open(argv[1], O_RDWR|O_TRUNC)) < 0){
31             err_ret("%s: open error", argv[1]);
32             continue;
33         }
34 
35         close(fd);
36         timebuf.actime = statbuf.st_atim.tv_sec;
37         timebuf.modtime = statbuf.st_mtim.tv_sec;
38         if (utime(argv[i], &timebuf) < 0){
39             // retset time
40             err_ret("%s: utime error", argv[i]);
41             continue;
42         }
43     }
44 }