c語言獲取文件時間
Ⅰ c語言,在WINDOWS下取文件創建時間的問題
使用_findfirst函數或_findnext函數檢索磁碟上的文件能獲取相關信息,其中就包含創建日期。
long _findfirst(const char*, _finddata_t *);
long _findnext(const long, _finddata_t *);
findfirst函數用一個文件名來啟動一次檢索,同時把能找到的第一個文件的數據存入_finddata_t所指向的結構體,然後返回本次檢索的句柄,若失敗返回-1L
findnext函數則接受一個檢索句柄,尋找下一個有效的相關文件,把數據存入_finddata_t所指向的結構體,然後返回0,若失敗,則返回非零。
Ⅱ 怎樣在C語言裡面 獲得一個文件夾的創建日期
CFile m_File;
CFileStatus m_status;
m_File.GetStatus('路徑', m_status);
CTime cmt(a,b,c,d,e,f);
m_status.m_mtime=cmt;
m_status這個結構體中會有你需要的 東西 創建時間 修改日期等
Ⅲ C++輸出系統當前時間,並保存於文件中,求解
不太明白你c寫的轉換為c++的意思,.c寫的本來就可以直接復制到.cpp作為c++代碼進行編譯
利用time.h 獲取時間是c/c++的標准方法,也就是說,這樣寫出來的代碼,windows和linux都能用;
而system("time")不是c++專用的方法,c語言也可以用,它本質就是在命令行cmd輸入命令time 一樣,只能顯示出結果,無法獲得返回值。我估計你是因為這個無法寫入文件。
我推薦你是用timer.h來獲取時間
給你一段代碼參考吧,可以獲取當前的時間(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //獲取1970.1.1至當前秒數time_t
struct tm * timeinfo= localtime ( &timeSec ); //創建TimeDate,並轉化為當地時間,
//struct tm * timeinfo = gmtime ( &timeSec ); //創建TimeDate,並轉化為GM時間,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//獲取年 月 日 時 分 秒 對應的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的時間獲取方法,要寫入文件也是很簡單的了:
FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);