如何在linux上显示最后修改时间

我想编写一个C程序,以微秒或毫秒显示最后修改的文件.我该怎么办?你能给我一个帮助吗? 非常感谢. 使用stat()函数.在glibc的最新版本中,st_mtim(注意:没有尾随e)是一个类型为struct timespec的字段,用于保存文件修改时间: struct stat st;if (stat(filename

我想编写一个C程序,以微秒或毫秒显示最后修改的文件.我该怎么办?你能给我一个帮助吗?

非常感谢.

解决方法

使用stat()函数.在glibc的最新版本中,st_mtim(注意:没有尾随e)是一个类型为struct timespec的字段,用于保存文件修改时间:

struct stat st;

if (stat(filename,&st)) {
    perror(filename);
} else {
    printf("%s: mtime = %lld.%.9ld\n",filename,(long long)st.st_mtim.tv_sec,st.st_mtim.tv_nsec);
}

您应该在构建系统中检查struct stat中是否存在st_mtim,并且如果不存在,则准备退回到st_mtime(其类型为time_t,只有1秒的分辨率).

作者: dawei

【声明】:西安站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部