18-utime 函数
utime 函数可以用来更改文件的最近访问时间和最近修改时间,即 atime 和 mtime。如果你不知道这两个时间是什么含义,请参考《stat 结构体中的三个时间》 。
1 utime 函数原型
/*
struct utimbuf {time_t actime; // access timetime_t modtime; // modification time
};
*/
int utime(const char *filename, const struct utimbuf *times);
该函数接收一个文件名和 utimbuf 结构体作为输入,返回 0 表示成功,-1 表示失败。
2 示例
这个例子将一个文件的 atime 和 mtime 减去一天后,再使用 utime 重设。
2.1 演示
- 创建测试文件
$ echo hello > test.txt
$ ls -ls test.txt
-rw-rw-r-- 1 allen allen 6 12月 1 17:25 test.txt
- 使用 myutime 更改时间(myutime 的代码见 2.2 节)
$ ./myutime test.txt
- 结果
最近修改时间 Thu Dec 1 17:25:17 2016最近访问时间 Thu Dec 1 17:25:17 2016执行 utime 后(时间减去一天)
最近修改时间 Wed Nov 30 17:25:17 2016最近访问时间 Wed Nov 30 17:25:17 2016
2.2 完整代码
下面这段代码的知识比较综合,用的都是前面的知识,如果看不懂,建议阅读前面的文章。
代码中有使用新的函数 ctime,该函数是把 time_t 类型的时间转换成人类可读的字符串的,使用起来方便快捷。它的原型是这样的:
char *ctime(const time_t *timep);
- 代码
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <utime.h>
#include <stdio.h>int main(int argc, char* argv[]) {struct stat st; stat(argv[1], &st);printf("最近修改时间 %s\n",ctime(&st.st_mtime)); printf("最近访问时间 %s\n",ctime(&st.st_atime)); struct utimbuf utb = {st.st_atime - 24*3600, st.st_mtime - 24*3600};utime(argv[1], &utb);stat(argv[1], &st);printf("执行 utime 后(时间减去一天)\n");printf("最近修改时间 %s\n",ctime(&st.st_mtime)); printf("最近访问时间 %s\n",ctime(&st.st_atime)); return 0;
}
- 编译
$ gcc myutime.c -o myutime
3 总结
- 掌握 utime 的使用方法
- 熟练使用 stat 函数
- 掌握时间转字符串函数 ctime
18-utime 函数相关推荐
- 4.19 utime函数-文件时间修改
除了文件处理函数隐性地处理文件时间属性外,很多时候应用程序需要显式地处理时间属性,例如更改文件的时间属性,用文件的时间属性作为一个事务处理的依据,有时候还要将时间变成让人看懂的字符打印出来. 一.ut ...
- UNIX环境编程学习笔记(11)——文件I/O之文件时间以及 utime 函数
lienhua34 2014-09-16 1 文件的时间 每个文件都有三个时间字段,如表 1 所示. 表 1: 文件的三个时间字段 说明 字段 st_atime 文件数据的最后访问时间 st_mtim ...
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.18. 数组函数和操作符...
9.18. 数组函数和操作符 表 9.48显示了可以用于数组类型的操作符. 表 9.48. 数组操作符 操作符 描述 例子 结果 = 等于 ARRAY[1.1,2.1,3.1]::int[] = AR ...
- linux 文件按时间 函数,[Linux文件属性]使用utime函数操作文件的时间参数
//这是一个使用utime函数对文件的时间参数进行修改的实例 //文件首先使用stat函数获得文件当前的时间参数,然后使用 //Open函数对文件进行修改,再用utime函数对文件的时间信息 //进行 ...
- linux读取文件修改时间函数,Linux服务器编程之utime()函数修改文件存取时间
Linux服务器编程之utime()函数修改文件存取时间 C语言utime()函数:修改文件的存取时间和更改时间 头文件: #include #include 定义函数: int utime(cons ...
- 十四、文件和目录——文件时间和utime函数
14.1 文件时间 存在于 stat 结构体中 14.2 文件时间函数 14.2.1 介绍 utime(修改文件的存取时间和更改时间) 相关函数 utimes,stat 1 #include < ...
- Linux服务器编程之:utime()函数
1.依赖的头文件 #include<sys/types.h> #include<utime.h> 2函数声明 int utime(const char *filename, c ...
- 课时18:函数:灵活即强大
目录: 一.形参和实参 二.函数文档 三.关键字参数 四.默认参数 五.收集参数 六.课时18课后习题及答案 ****************** 一.形参和实参 ****************** ...
- 中谷教育Python15~18笔记——函数
函数: 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字. 可以通过函数名在程序的不同地方多次执行(这同城叫做函数调用),却不需要再所有地方都重复编写这些语句. 自定 ...
- 18.高级函数(闭包与装饰器)
一.闭包函数 1.闭包基础 前面我们已经学习了函数嵌套,我们再来看一个关于函数嵌套的例子. 外层函数outer_1定义了1个空列表lst,然后调用内层函数inner_1,每次调用时往内层函数传入参数1 ...
最新文章
- HTTPS网络加密双向验证-使用AFNetworking封装
- “高引用”《牛顿传》重版再出,今晚八点,来直播间“遇见牛顿”!
- TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器
- 自然语言处理系列篇——关键词智能提取
- java 简单的加法 递归 从A加到B
- win系统mysql找回密码
- 程序员如何避免半途而废?
- 设置Kafka集群的方法
- Oracle 日期时间函数大全
- 计算机四级网络工程师(计算机网络多选)- 知识点
- ITIL学习笔记——ITIL入门小知识
- java中object是什么_Java中的Object是什么?
- 基于秃鹰搜索算法的无线传感器网络三维覆盖优化
- “Win7内部版本7600此Windows副本不是正版”解决方法
- SciPy教程 - 稀疏矩阵库scipy.sparse
- C语言数据结构——环形队列
- 设计一个学校食堂管理系统
- Rman配置DataGuard using Backup-based duplication with a target connection with filesystem
- 内存条上的数字代表的意义
- 国际惯例,个人流程分享