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

2021-12-24 23:36:40 字數 5428 閱讀 6309

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;

在windows下,如何用純C語言實現socket網路程式設計

mfc只是對socket進行了一些bai 封裝du,大部分人做 網路編zhi程 都是用dao 的原始的socket,比如如下介面都可版以在權c下進行呼叫1.socket 2.bind 3.connect 4.listen 5.accept 6.send 和recv 7.sendto 和recvfro...

關於檔案操作(C語言)C語言最檔案操作函式

首先,這段程式是通過 輸入檔案路徑及檔名來開啟檔案 filename 10 這個字元型陣列是用來存方輸入的檔案路徑及檔名的 注意,陣列大小為10,因此輸入的路徑和檔名不能超過10個字元 fopen c 函式的兩個引數中第一個引數是檔案的路徑及檔名,第二個是檔案的開啟方式 這裡不多說了 程式中 sca...

c語言中的標頭檔案,c語言標頭檔案怎麼寫呀?

include說明呼叫dos控制檯i o子程式的各個函式。include包含字串庫函式說明的標頭檔案 include包含動態儲存與釋放函式標頭檔案 不是標準庫,通常講述標準庫的書當然沒有它。可能是使用者自己寫的 被呼叫函式來自的資料庫 c語言中的標頭檔案 c語言中的標頭檔案 include。標頭檔案...