[lingyun@localhost utime]$ ls
hello  utime.c  world

[lingyun@localhost utime]$ cat utime.c 

/*********************************************************************************

 *      Copyright:  (C) 2013 fulinux<fulinux@sina.com> 

 *                  All rights reserved.

 *

 *       Filename:  utime.c

 *    Description:  This file 

 *                 

 *        Version:  1.0.0(08/04/2013~)

 *         Author:  fulinux <fulinux@sina.com>

 *      ChangeLog:  1, Release initial version on "08/04/2013 05:49:04 PM"

 *                 

 ********************************************************************************/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

#include <fcntl.h>

#include <utime.h>

#include <sys/stat.h>

/********************************************************************************

 *  Description:

 *   Input Args:

 *  Output Args:

 * Return Value:

 ********************************************************************************/

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)

        {

            printf ("%s: stat error\n", argv[i]);

            continue;

        }

        if((fd = open(argv[i], O_RDWR | O_TRUNC)) < 0)

        {

            printf ("%s: open error\n", argv[i]);

            continue;

        }

        close(fd);

        timebuf.actime  = statbuf.st_atime;

        timebuf.modtime = statbuf.st_mtime;

if(utime(argv[i], &timebuf) < 0)

        {

            printf ("%s: utime error\n", argv[i]);

            continue;

        }

    }

    exit(0);

} /* ----- End of main() ----- */

[lingyun@localhost utime]$ gcc utime.c 

[lingyun@localhost utime]$ ls -l hello world 

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:03 hello

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:04 world

[lingyun@localhost utime]$ ls -lu hello world 

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:03 hello

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:04 world

[lingyun@localhost utime]$ date

Sun Aug  4 18:10:44 CST 2013

[lingyun@localhost utime]$ ./a.out hello world 

[lingyun@localhost utime]$ ls -l hello world 

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:03 hello

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:04 world

[lingyun@localhost utime]$ ls -lu hello world 

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:03 hello

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:04 world

[lingyun@localhost utime]$ ls -lc hello world 

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:10 hello

-rw-r--r-- 1 lingyun trainning 0 Aug  4 18:10 world

[lingyun@localhost utime]$

linux之utime函数解析的更多相关文章

  1. Linux exec族函数解析

    背景 在提到 vfork 函数时,我们提到了这个概念.为了更好地学习与运用,我们对exec族函数进行展开. exec函数族 介绍 有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中 ...

  2. linux之unlink函数解析

    [lingyun@localhost unlink]$ cat unlink.c  /********************************************************* ...

  3. linux之access函数解析

    [lingyun@localhost access_1]$ ls access.c 实例一: [lingyun@localhost access_1]$ cat access.c  /******** ...

  4. linux之ioctl函数解析

    [lingyun@localhost ioctl_1]$ ls ipconfig.c [lingyun@localhost ioctl_1]$ cat ipconfig.c  /*********** ...

  5. linux之umask函数解析

    [lingyun@localhost umask_1]$ vim umask.c  + umask.c                                                 ...

  6. linux之chdir函数解析

    [lingyun@localhost chdir]$ ls chdir.c [lingyun@localhost chdir]$ cat chdir.c  /********************* ...

  7. linux之getcwd函数解析

    [lingyun@localhost getcwd]$ cat getcwd.c /********************************************************** ...

  8. linux之stat函数解析

    [lingyun@localhost stat_1]$ vim stat.c  + stat.c                                                     ...

  9. 关于Linux系统basename函数缺陷的思考

    某模块作为前台进程独立运行时,运行命令携带命令行参数:作为某平台下守护进程子进程运行时,需要将命令行参数固化在代码里.类似如下写法: char *argv[] = {"./DslDriver ...

随机推荐

  1. Android省电开发 浅析

    相信对于Android App省电的开发,一切性能优化都可以达到App的省电开发,所以一个省电的Android应用,性能优化占据很重要的位置.除此之外整理了几点关于Android应用省电的开发技巧. ...

  2. codevs2034 01串2

    /* 一开始认为是个水题 直接模拟 没想到只得了50分 一看数据吓niao了 模拟妥妥的TLE 实在不好优化了0.0(最快O(m)) 然后借鉴别人的 DP+神奇的输出 DP:状态:f[i][j] 前i ...

  3. (转)PHP正则表达式的快速学习方法

    1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...

  4. leetcode修炼之路——13. Roman to Integer

    题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from ...

  5. struts2与spring集成时,关于class属性及成员bean自动注入的问题

    http://blog.csdn.net/sun_zhicheng/article/details/24232129

  6. hdu 1042 N!(大数的阶乘)

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  7. 【COGS 56】质数取石子

    [问题描述] DD 和 MM 正在玩取石子游戏.他们的游戏规则是这样的:桌上有若干石子,DD 先取,轮流取,每次必须取质数个.如果某一时刻某一方无法从桌上的石子中取质数个,比如说剩下 0 个或 1 个 ...

  8. 『重构--改善既有代码的设计』读书笔记----Inline Temp

    与Inline Method相同,有时候犹豫需要Extract Method,需要对一些临时变量进行内联,而这个往往是Replace Temp with Query的一部分.简单来说,当你看到这种 d ...

  9. Redis学习 - 入门

    业精于勤,荒于嬉:行成于思,毁于随 -- 韩愈·<进学解>   因为工作中需要用到Redis,所以最近抽点时间看了一下,现在将学习的内容整理一下.   一.简介 1.Redis是什么? R ...

  10. thinkphp T方法

    为了更方便的输出模板文件,新版封装了一个T函数用于生成模板文件名. 用法: T([资源://][模块@][主题/][控制器/]操作,[视图分层]) T函数的返回值是一个完整的模板文件名,可以直接用于d ...