gpt4 book ai didi

c - 如何返回文件创建日期?

转载 作者:行者123 更新时间:2023-11-30 19:33:38 25 4
gpt4 key购买 nike

如何在 C 语言中获取文件创建日期?我看到函数 getFileTime 但我不知道如何使用它来返回创建时间:

BOOL WINAPI GetFileTime(

__in HANDLE hFile, // handle to the file
__out_opt LPFILETIME lpCreationTime, // FILETIME struct for creation time
__out_opt LPFILETIME lpLastAccessTime, // FILETIME struct for last access time
__out_opt LPFILETIME lpLastWriteTime // FILETIME struct for last modification time
);

//我做了这个,但不工作,它返回 01/01/1601 。我需要创建日期而不是修改日期

 HANDLE h_fichier;
LPCWSTR fname = L"C:\\Program Files (x86)\\IE tn-Sign\\tn-Sign-plugin- ie.dll";
FILETIME date_fichier_tmp;
SYSTEMTIME date_fichier_utc, date_fichier_local;
//Ouverture du fichier
h_fichier = CreateFile(fname,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(h_fichier == INVALID_HANDLE_VALUE)
printf("CreateFile ko %S\n", fname);
EstEID_log("CreateFile ko %S\n", fname);
//Date de modification du fichier
if (!GetFileTime(h_fichier, NULL, NULL, &date_fichier_tmp))
printf("GetFileTime ko\n");
EstEID_log("GetFileTime ko\n");
//Convertion de la date
FileTimeToSystemTime(&date_fichier_tmp, &date_fichier_utc);
SystemTimeToTzSpecificLocalTime(NULL, &date_fichier_utc, &date_fichier_local);
printf("Derniere modification le %02d-%02d-%d %02dh%02d\n", date_fichier_local.wDay, date_fichier_local.wMonth, date_fichier_local.wYear, date_fichier_local.wHour, date_fichier_local.wMinute);

EstEID_log("Derniere modification le %02d-%02d-%d %02dh%02d\n", date_fichier_local.wDay, date_fichier_local.wMonth, date_fichier_local.wYear, date_fichier_local.wHour, date_fichier_local.wMinute);
//Fermeture du fichier
CloseHandle(h_fichier);
system("pause");
return 0;

最佳答案

GetFileTime() API 返回文件的创建、修改和访问时间,具体取决于文件系统和操作系统对每种时间/日期处理的支持。每GetFileTime function文档中,创建时间是第一个参数(在文件句柄之后)。您现有的调用正在检索“上次写入时间”(也称为修改时间)。而是将参数更改为返回

… GetFileTime(h_fichier, &date_fichier_tmp, NULL, NULL) …

关于c - 如何返回文件创建日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45162605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com