免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 小雨飞
打印 上一主题 下一主题

在C中如何获取一个文件的生成时间 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-08-11 15:03 |只看该作者
原帖由 flw 于 2006-8-11 13:07 发表

我觉得,stat 系统调用返回的 st_ctime 基本上可以认为是文件的创建时间了。


如果文件创建后,它的i节点的信息不做改变,该时间确实可以认作是文件的创建时间。
我的应用中,文件创建后,它的属性基本不做改变,所以我当时用的就是它

论坛徽章:
0
22 [报告]
发表于 2006-08-11 15:05 |只看该作者
st_ctime是文件i节点最后修改时间,chmod,chown,write等都会改写它;
st_ctime指的是change,不是create

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
23 [报告]
发表于 2006-08-11 15:10 |只看该作者
原帖由 namtso 于 2006-8-11 13:35 发表

不知道你的定义是在哪里看到的,我记得st_ctime就是创建时间。
另外还有一个st_atime是最后访问时间,还有一个st_mtime是最后修改时间。



我说了不算, 要看man  手册.

你去看看 man 2 stat 吧.

论坛徽章:
0
24 [报告]
发表于 2006-08-11 15:19 |只看该作者
文件的时间放在文件系统里面。
拿FAT系统来说:
文件信息(文件名,文件时间,文件属性,文件长度,文件的第一个簇)保存在目录所在的簇中。
你只要能够直接读到目录的那个簇,你就可以知道文件的时间。

对直接操作硬件嵌入式系统来说,这易如反掌。

对带有OS的系统来说(带有OS的嵌入式系统也算),那么就需要OS提供相关的函数,把该目录所在的簇传递给你。或者OS帮你分析好你想要的文件的信息,通过系统调用函数传递给你。

[ 本帖最后由 Sworder 于 2006-8-11 16:21 编辑 ]

论坛徽章:
0
25 [报告]
发表于 2006-08-11 15:30 |只看该作者
原帖由 isnowran 于 2006-8-11 15:05 发表
st_ctime是文件i节点最后修改时间,chmod,chown,write等都会改写它;
st_ctime指的是change,不是create


惭愧,对自己的代码没有仔细测试,或者是测试的不够仔细。
刚才测试了一下,发现write函数会修改文件的ctime 和 mtime

man 手册
The field st_ctime is changed by writing or by setting inode  information  (i.e.,  owner,  group,  link
       count, mode, etc.)


感情里面的write 指的是文件内容阿,一直以为指的是inode

论坛徽章:
0
26 [报告]
发表于 2006-08-11 15:33 |只看该作者
原帖由 Sworder 于 2006-8-11 15:19 发表
文件的时间放在文件系统里面。
拿FAT系统来说:
文件信息(文件名,文件时间,文件属性,文件长度,文件的第一个簇)保存在目录所在的簇中。
你只要能够直接读到目录的那个簇,你就可以知道文件的时间。

对 ...



linux下有相关的函数接口吗?
现在我已经可以确定stat是不能给出文件的创建的时间的了

论坛徽章:
0
27 [报告]
发表于 2006-08-11 15:48 |只看该作者
没有

论坛徽章:
0
28 [报告]
发表于 2006-08-11 15:52 |只看该作者
原帖由 isnowran 于 2006-8-11 15:48 发表
没有


那该如何做呢?
有没有思路??

论坛徽章:
0
29 [报告]
发表于 2006-08-11 16:10 |只看该作者
文件系统根本没有保存这个时间值,你怎么获取?当然,你可以把创建时间写在文件里:)

论坛徽章:
0
30 [报告]
发表于 2006-08-11 16:15 |只看该作者
原帖由 isnowran 于 2006-8-11 16:10 发表
文件系统根本没有保存这个时间值,你怎么获取?当然,你可以把创建时间写在文件里:)


看来也只能这么作了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP