c語言,在windows下取檔案建立時間的問題

時間 2021-12-24 23:35:02

1樓:

使用_findfirst函式或_findnext函式檢索磁碟上的檔案能獲取相關資訊,其中就包含建立日期。

long _findfirst(const char*, _finddata_t *);

long _findnext(const long, _finddata_t *);

findfirst函式用一個檔名來啟動一次檢索,同時把能找到的第一個檔案的資料存入_finddata_t所指向的結構體,然後返回本次檢索的控制代碼,若失敗返回-1l

findnext函式則接受一個檢索控制代碼,尋找下一個有效的相關檔案,把資料存入_finddata_t所指向的結構體,然後返回0,若失敗,則返回非零。

2樓:匿名使用者

給你參考一下下面的**

#include

#include

#include

#define filename "test.$$$"

int main(void)

/* get information about the file */

stat(filename, &statbuf);

fclose(stream);

/* display the information returned */

if (statbuf.st_mode & s_ifchr)

printf("handle refers to a device.\n");

if (statbuf.st_mode & s_ifreg)

printf("handle refers to an ordinary file.\n");

if (statbuf.st_mode & s_iread)

printf("user has read permission on file.\n");

if (statbuf.st_mode & s_iwrite)

printf("user has write permission on file.\n");

printf("drive letter of file: %c\n", 'a'+statbuf.st_dev);

printf("size of file in bytes: %ld\n", statbuf.st_size);

return 0;}

3樓:匿名使用者

不知道你用什麼編譯器

第一個的 struct tm *t ,大部分情況下c 的所有變數定義需要語句前面,不然會報錯(有些編譯器可能沒有這個規定)。

除這之外程式好象是沒有問題

c語言中 如何獲取系統時間

4樓:匿名使用者

方法一,#include

int main()

time_t timep;

struct tm *p;

time (&timep);

p=gmtime(&timep);

printf("%d\n",p->tm_sec); /*獲取當前秒*/

printf("%d\n",p->tm_min); /*獲取當前分*/

printf("%d\n",8+p->tm_hour);/*獲取當前時,這裡獲取西方的時間,剛好相差八個小時*/

printf("%d\n",p->tm_mday);/*獲取當前月份日數,範圍是1-31*/

printf("%d\n",1+p->tm_mon);/*獲取當前月份,範圍是0-11,所以要加1*/

printf("%d\n",1900+p->tm_year);/*獲取當前年份,從1900開始,所以要加1900*/

printf("%d\n",p->tm_yday); /*從今年1月1日算起至今的天數,範圍為0-365*/

方法二.#include

#include

int main ()

time_t t

獲取unix時間戳。

lt = localtime (&t);//轉為時間結構。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday,

lt->tm_hour, lt->tm_min, lt->tm_sec);//輸出結果

return 0;}

擴充套件資料

1、ctimespan類

如果想計算兩段時間的差值,可以使用ctimespan類,具體使用方法如下:

ctime t1( 1999, 3, 19, 22, 15, 0 );

ctime t = ctime::getcurrenttime();

ctimespan span=t-t1; //計算當前系統時間與時間t1的間隔

int iday=span.getdays(); //獲取這段時間間隔共有多少天

int ihour=span.gettotalhours(); //獲取總共有多少小時

int imin=span.gettotalminutes();//獲取總共有多少分鐘

int isec=span.gettotalseconds();//獲取總共有多少秒

2、timeb()函式

_timeb定義在sys\timeb.h,有四個fields

dstflag

millitm

time

timezone

void _ftime( struct _timeb *timeptr );

struct _timeb timebuffer;

_ftime( &timebuffer );

5樓:阿里

#include

int main()

time_t timep;

struct tm *p;

time (&timep);

p=gmtime(&timep);

printf("%d\n",p->tm_sec); /*獲取當前秒*/

printf("%d\n",p->tm_min); /*獲取當前分*/

printf("%d\n",8+p->tm_hour);/*獲取當前時,這裡獲取西方的時間,剛好相差八個小時*/

printf("%d\n",p->tm_mday);/*獲取當前月份日數,範圍是1-31*/

printf("%d\n",1+p->tm_mon);/*獲取當前月份,範圍是0-11,所以要加1*/

printf("%d\n",1900+p->tm_year);/*獲取當前年份,從1900開始,所以要加1900*/

printf("%d\n",p->tm_yday); /*從今年1月1日算起至今的天數,範圍為0-365*/

擴充套件連結

注意事項:

struct tm中的tm_year 值為實際年減去1900, 所以輸出的時候要是lt->tm_year+1900。

6樓:兔丞飛

#include

#include

int main ()

time_t t

獲取unix時間戳。

lt = localtime (&t);//轉為時間結構。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);//輸出結果

return 0;}

擴充套件資料

#include -- 必須的時間函式標頭檔案

time_t -- 時間型別(time.h 定義是typedef long time_t; 追根溯源,time_t是long)

struct tm -- 時間結構,time.h 定義如下:

int tm_sec;

int tm_min;

int tm_hour;

int tm_mday;

int tm_mon;

int tm_year;

int tm_wday;

int tm_yday;

int tm_isdst;

time ( &rawtime ); -- 獲取時間,以秒計,從2023年1月一日起算,存於rawtime

localtime ( &rawtime ); -- 轉為當地時間,tm 時間結構

asctime ()-- 轉為標準ascii時間格式:

星期 月 日 時:分:秒 年

7樓:跪著作揖

獲取系統的時間需要藉助time()函式,具體的**如下:

#include

#include

struct mydate

unsigned year;

unsigned month;

unsigned day;

struct mydate today( )

struct mydate today;

time_t rawtime;

struct tm *timeinfo;

time ( &rawtime );

today.year = timeinfo->tm_year + 1900;

today.month = timeinfo->tm_mon + 1;

today.day = timeinfo->tm_mday;

return today;

int main( )

struct mydate today = today(  )

printf("%4d/%02d/%02d\n",today.year,today.month,today.day);

return 0;

擴充套件資料

#include

#include

int main (  )

time_t t;

struct tm * lt;

獲取unix時間戳。

轉為時間結構。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon,,lt->tm_mday,,lt->tm_hour, lt->tm_min,,lt->tm_sec);            //輸出結果

return 0;

C語言檔案,C語言 檔案

1全部rb意思是以二進位制檔案 binary 讀取 read 一般來說,b代表二進位制檔案,t代表文字檔案 省略不寫記得預設是b,不太清楚了 w代表寫入 不存在檔案就建立,存在檔案就先清空再寫入 r代表讀取 不存在檔案就返回null a代表在檔案末尾追加 w 代表寫入和讀取 不存在檔案就建立,存在檔...

C語言中如何取整,C語言中取整是怎麼取?

茅玉枝稅子 參與運算量均為整型時,結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。printf d,d n 10 3,10 3 printf f,f n 10.0 3,10.0 3 c語言有以下幾種取整方法 1 直接賦值給整數變數。如 inti 2.5 或i int 2.5 這...

c語言在標頭檔案中呼叫函式,C語言中,是否可以呼叫其它檔案的函式?

韌勁 main 例程 1 看看上面的程式,沒有.h檔案。是的,就是沒有,世界上的萬物都是經歷從沒有到有的過程的,我們對.h的認識,我想也需要從這個步驟開始。這時確實不需要.h檔案,因為這個程式太簡單了,根本就不需要。那麼如何才能需要呢?讓我們把這個程式變得稍微複雜些,請看下面這個,檔名 first....