如何取得文件夹的创建时间? 我的代码怎么不行呢?
#include "StdAfx.h "
#include "windows.h "
//FILE_ATTRIBUTE_DIRECTORY
int main()
{
WIN32_FIND_DATA FindFileData;
WIN32_FILE_ATTRIBUTE_DATA ataex;
HANDLEhFind;
DWORDdwAttrs;
BOOLfFinished;
SYSTEMTIMEst, stUTC, stLocal;
GetSystemTime(&st);
fFinished = FALSE;
hFind = FindFirstFile( "f:\\* ", &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
return 1;
}
while (!fFinished)
{
dwAttrs = GetFileAttributes(FindFileData.cFileName);
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
printf(FindFileData.cFileName );
printf( " -> ");
GetFileAttributesEx(FindFileData.cFileName, GetFileExInfoStandard, &ataex);
FileTimeToSystemTime(&(ataex.ftCreationTime), &stLocal);
printf( "%02d/%02d/%d %02d:%02d ", stLocal.wDay, stLocal.wMonth, stLocal.wYear, stLocal.wHour, stLocal.wMinute);
printf( "\n ");
}
if (!FindNextFile(hFind, &FindFileData))
{
if (GetLastError() == ERROR_NO_MORE_FILES)
{
fFinished = TRUE;
}
else
{
return 0;
}
}
}
return 1;
}
[解决办法]
WIN32_FIND_DATA中就有文件属性和文件时间。
[解决办法]
CFileFind类GetCreationTime()方法可以
[解决办法]
1楼说的没错,WIN32_FIND_DATA 里面就有时间
至于你的方法为什么取不到,这是因为FindFileData.cFileName里面不包含路径,只有文件名。
如果要取得文件的信息,必须用全路径文件名。