c语言文件时间
在 Windows 下,一个文件有创建时间、修改时间、访问时间。而在 Linux 下,一个文件也有三种时间,分别是访问时间(Access)、修改时间(Modify)、状态改变时间(Change)。
可以使用 stat 命令查看文件的访问时间、修改时间和状态改变时间。
本人使用的机器的磁盘分区使用的文件系统类型是 ext3,也就是说本人是无法查看文件创建时间的。但是,如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,当这个基本不太可能。
那什么时候访问时间,修改时间和状态改变时间会变化呢?比如我们使用vi打开文件但不编辑,那么退出后文件的访问时间就会改变;比如我们使用vi打开文件并且编辑后保存退出,那么文件的修改时间就会改变,当然访问时间也改变了;再比如使用chmod +x给文件增加可执行的属性,那么文件的状态改变时间就会改变。
【答题不易,请采纳谢谢】
❷ C语言如何获取文件创建时间
char buf[65];
struct stat;
stat("c:\\test.txt", &sb);
sb.st_ctime 就是文件的创建时间。你可以用localtime()
转换成立能够识别的时间。
struct tm* t=localtime(sb.st_ctime);
sprintf(buf, "%04d-%02d-%02d %02d:%02d:%02d",
t->tm_year+1900, t->tm_mon+1, t->tm_mday,
t->tm_hour, t->tm_min, t->tm_sec);
❸ C语言中time.h头文件中对时间的操作具体是怎样的
time.h头文件提供对时间操作的一些函数,clock()是程序开始到调用的毫秒数。
time_tt_begin,t_end;
t_begin=clock();//记录开始时间
dosomething();//调用函数
t_end=clock();//记录结束时间
printf("Timeused=%.21f ",(double)(t_end-t_begin)/CLOCKS_PER_SEC);//显示函数调用时间
(3)c语言文件时间扩展阅读
c语言中time.h头文件的使用
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;//测量一个事件持续的时间
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--)
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;//clock()是以毫秒为单位计算时间的所以除以CLOCKS_PER_SEC这是time.h里面定义的一个常量
printf("%fseconds ",ration);
system("pause");
}
❹ C语言 文件中时间与当前系统时间 时间差比较(比较结果返回为天数)最好是调用子函数解决
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intdays(char*begin_time)//格式:"20180914000000"//2018-9-140点0分0秒
{
structtmtm1;
time_ttime1,time_now;
sscanf(begin_time,"%4d%2d%2d%2d%2d%2d",&tm1.tm_year,&tm1.tm_mon,&tm1.tm_mday,&tm1.tm_hour,&tm1.tm_min,&tm1.tm_sec);
tm1.tm_year-=1900;
tm1.tm_mon--;
tm1.tm_isdst=-1;
time1=mktime(&tm1);//构造time1
time_now=time(NULL);
tm1=*(localtime(&time_now));//当时日期
return(time_now-time1)/(3600*24);//返回相差天数
}
intmain()
{
chartime_in_file[30]={"20180914000000 "};
printf(" %d",days(time_in_file));
return0;
}