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;
}