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);
}

运行结果:

utime函数的更多相关文章

  1. 程序4-6 utime函数实例

    //http://blog.chinaunix.net/uid-24549279-id-71355.html /* ========================================== ...

  2. 文件和目录之utime函数

    一个文件的访问和修改时间可以用utime函数更改. #include <utime.h> int utime( const char *pathname, const struct uti ...

  3. UNIX环境编程学习笔记(11)——文件I/O之文件时间以及 utime 函数

    lienhua342014-09-16 1 文件的时间 每个文件都有三个时间字段,如表 1 所示. 表 1: 文件的三个时间字段 说明 字段 st_atime 文件数据的最后访问时间 st_mtime ...

  4. 十四、文件和目录——文件时间和utime函数

    14.1 文件时间 存在于 stat 结构体中 14.2 文件时间函数 14.2.1 介绍 utime(修改文件的存取时间和更改时间) 相关函数 utimes,stat #include <sy ...

  5. linux之utime函数解析

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

  6. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  7. [APUE]文件和目录(中)

    一.link.unlink.remove和rename 一个文件可以有多个目录项指向其i节点.使用link函数可以创建一个指向现存文件连接 #include <unistd.h> int ...

  8. Python标准库之核心模块学习记录

    内建函数和异常 包括__builtin__模块和exceptions模块 操作系统接口模块 包括提供文件和进程处理功能的os模块,提供平台独立的文件名处理(分拆目录名,文件名,后缀等)的os.path ...

  9. UNIX,基础知识,文件IO,文件和目录

    2015.1.27星期二,早晨阴天,中午下雪了今天上午老师不上课,程序语句,记一下:main(void){ int c; while((c = getc(stdin)) != EOF) if(putc ...

随机推荐

  1. 59. Spiral Matrix && Spiral Matrix II

    Spiral Matrix Given a matrix of m x n elements (m rows, n columns), return all elements of the matri ...

  2. 如何在博客中插入jsfiddle的代码

    1.进入官网:https://jsfiddle.net/ 可以看到如下界面,顶端的控制按钮包括:保存,运行,代码格式化等: 2.将html.css.js分别写在指定的位置当中,最后一个框result是 ...

  3. 关于ImageMagick出现无效参数(invalid parameter)的解决方法

    Windows 命令行 运行"convert logo.jpg  f:\parseWord\tmp\logo.png" 时显示 “无效参数(Invalid Parameter)” ...

  4. 为什么C++中空类和空结构体大小为1?(转载)

    原文链接:http://www.spongeliu.com/260.html 对于结构体和空类大小是1这个问题,首先这是一个C++问题,在C语言下空结构体大小为0(当然这是编译器相关的).这里的空类和 ...

  5. 使用View为Data Source的Form开发要点

    (Data Source为View) 要点一:创建View的SQL语法 View的SQL里必须指定Form里唯一一个对其新增.修改.删除的基本表及其主键,其它表为辅助信息表,其字段仅用来在Form里显 ...

  6. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  7. 编程范式 episode 6 实现stack 栈功能_ to do

    //既然在这里开始,那就在这里结束. 实现stack 功能 ____coding _using subfunction to focus on the main aim of current func ...

  8. codeforces731C Socks

    C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  9. ORACLE object_id和data_object_id

    object_id和data_object_id 都是对象的唯一标识. object_id是对象的逻辑标识 data_object_id是对象的物理标识 对于没有物理存储的对象,data_object ...

  10. POJ 2502 - Subway Dijkstra堆优化试水

    做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...