内容:编写一个C程序time_travelling_files.c,它接受一个文件列表作为命令行参数。
您的程序应该对每个文件检查文件的访问时间或文件的修改时间是否在未来。
如果文件的访问时间或文件的修改时间是在未来,您的程序应该打印一个消息的格式如下。
图片如下:
(绿色hint部分提供了能给出当前时间的代码)
还请帮忙看看这个,这个文件时间不知道怎么获得…谢谢!
获取文件的最后修改时间跟当前系统时间进行比较就是了,代码如下:
#include <stdio.h>
#include <sys/stat.h>
#include <time.h>
int main(int argc,void* argv[])
{
int i=0;
struct stat statbuf;
//get current time
struct timespec tn;
clock_gettime(CLOCK_REALTIME,&tn);
if(argc < 2)
{
printf("less param\n");
return 0;
}
for(i=1;i<argc;i++)
{
if(stat(argv[i],&statbuf) != -1)
{
if(tn.tv_sec < statbuf.st_mtime || tn.tv_sec < statbuf.st_atime )
{
printf("%s has a timestamp that is in the future\n",argv[i]);
}
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!