请教一个关于用标准C语言修改文件创建时间、修改时间和访问时间的问题。

标准C里面有没有这种方法呢?我需要在Unix下运行,具体的是Solaris 9下,把某个目录下的所有文件的这三个时间属性都改成某年某月某日的00点00分。

|

utime(修改文件的存取时间和更改时间)

相关函数  utimes,stat

表头文件  #include

#include

定义函数  int utime(const char * filename,struct utimbuf * buf);

函数说明  utime()用来修改参数filename文件所属的inode存取时间。

结构utimbuf定义如下

struct utimbuf{

time_t actime;

time_t modtime;

};

返回值  如果参数buf为空指针(NULL),则该文件的存取时间和更改时间全部会设为目前时间。

执行成功则返回0,失败返回-1,错误代码存于errno。

错误代码  EACCESS 存取文件时被拒绝,权限不足

ENOENT 指定的文件不存在。

utimes(修改文件的存取时间和更改时间)

相关函数  utime,stat

表头文件  #include

#include

定义函数  int utimes(char * filename.struct timeval *tvp);

函数说明  utimes()用来修改参数filename文件所属的inode存取时间和修改时间。

结构timeval定义如下

struct timeval {

long tv_sec;

long tv_usec; /* 微妙*/

};

返回值  参数tvp 指向两个timeval 结构空间,和utime()使用的utimebuf结构比较,tvp[0].tc_sec 则为utimbuf.actime,tvp]1].tv_sec 为utimbuf.modtime。

执行成功则返回0。失败返回-1,错误代码存于errno。

错误代码  EACCESS 存取文件时被拒绝,权限不足

ENOENT 指定的文件不存在

|

没有创建时间一说。

ctime是状态变化时间,好像没有API可以更改。

|

每个文件只保持三个字段

st_atime 文件数据的最后存取时间

st_mtime 文件数据的最后修改时间

st_ctime i节点状态的最后更改时间

注意:修改时间是文件内容最后一次被修改的时间,如write操作。更改状态时间是该文件的i节点最后一次修改的时间,如chmod,chown,因为 i节点的所有信息都是与文件的实际内容分开存放的。

一个文件的存取和修改时间可以用utime函数来更改

#include

#include

int utime(const char *pathname, const struct utimbuf *times)

返回:若成功则为0,若出错则为-1

此函数所使用的结构是

struct utimbuf

{

time_t actime;

time_t modtime;

}

此结构的两个时间值是日历值,这是自从1970年1月1日,00:00:00以来国际标准时间所经过的秒数。

我们不能更改的是st_ctime指定的一个值,当调用utime函数时,此字段被自动更新。

linux c语言修改文件的时间属性,请教一个关于用标准C语言修改文件创建时间、修改时间和访问时间的问题。...相关推荐

  1. touch 修改文件时间戳,或者新建一个不存在的文件 - 副本

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a    ...

  2. linux取批量文件的关键字,Linux上批量查找文件里面带的关键字(grep 关键字的用法)-Go语言中文社区...

    grep 功能说明:查找文件里符合条件的字符串(同时能匹配正则表达式) 语法:grep [-abcEFGhHilLnqrsvVwxy][-A][-B][-C][-d][-e][-f][--help][ ...

  3. linux属性表示的文件,Linux基础入门:文件和目录属性的含义

    比如 : [root@istester isTester]# ll total 12 drwxr-xr-x 2 root root 4096 May 21 17:58 21Day -rw-r-xr-- ...

  4. linux :ls -Z查看文件的type 属性

  5. 计算机二级c语言考生文件夹在哪,2017年全国计算机二级C语言考试题

    计算机等级考试时间是3月26日-29日,以下小编特意为大家整理出计算机一级考试选择题及答案,希望对大家的复习有帮助! 基本操作题 在考生文件夹下,完成如下操作: 1. 创建一个名为Sproject的项 ...

  6. c语言中文件如何插入数据,急求如何将下列C语言程序数据存储到文件中?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中. #include int ...

  7. c语言源程序文件.c如何保存,急求如何将下列C语言程序数据存储到文件中?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中. #include int ...

  8. touch用来修改文件时间戳,或者新建一个不存在的文件

    1.命令格式 touch [选项]- 文件- 2.命令参数 -a 或–time=atime或–time=access或–time=use 只更改存取时间. -c 或–no-create 不建立任何文档 ...

  9. C语言 复制文件内容粘贴到另一个文件中

    #include <stdio.h>int main(void){int ch;FILE *sfp;FILE *dfp;char sname[FILENAME_MAX];char dnam ...

最新文章

  1. 小程序前端性能测试_如何提高前端应用程序的性能
  2. html网页滚轮滑动页面,JQuery实现鼠标滚轮滑动到页面节点
  3. mysql最左侧原则的深入理解
  4. Codeforces Round #331 (Div. 2) A. Wilbur and Swimming Pool 水题
  5. jquery ajax 找到数据怎样放到下拉框里_闲话Excel之简易数据动态图表的制作
  6. SAP Cloud for Customer 2102版本如何使用Key User Tool创建扩展字段 - extension field
  7. 画毛毛虫代码计算机图形学,考试计算机图形学考试计算机图形学.docx
  8. 得力条码扫描器怎么用_广东智能物流控制系统怎么选
  9. 炒股如果亏损一直买入可行吗
  10. android socket编程实例
  11. Q96:PT(3.3):大理石纹理(Marble Texture)
  12. Mac OS X上安装 Ruby运行环境
  13. 2020年中国激光切割运控系统需求现状及竞争格局分析,高功率快速增长「图」
  14. Windows 下网卡对802.1Q tag 的支持
  15. 利用脚手架创建vue项目时报这个错误,哪位大神帮忙解答一下,实在是找到解决办法了。万分感谢
  16. 学python重点是什么_如果只有1小时学Python,看这篇就够了
  17. SAP中记账汇率和预算汇率的应用配置分析
  18. java epics_Visual Paradigm敏捷开发教程(7):如何管理Epics
  19. EXCEL中插入图形
  20. GPS卫星位置的计算

热门文章

  1. cygwin的安装及编译和调试程序
  2. linux断电分区表丢失,linux修复丢失的分区表
  3. AV终结者技术大曝光(另附AV终结者10大死法)
  4. Linux中文乱码透彻篇
  5. 如何利用JS加密工具来压缩体积
  6. 解决VMware 16在Win7虚拟机安装VMware Tools时报 “Windows 无法验证此驱动程序软件的发布者”问题
  7. 主题 支持 php 7.2,最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上...
  8. 一个数如果恰好等于它的因子之和,这个数就称为 “完数 “
  9. Smooth Paths Using Catmull-Rom Splines
  10. C# 分数计算类(加减乘除)