C 我需要帮助打印属于WIN32_FIND_数据结构的属性
我正在尝试打印WIN32_FIND_数据属性struct ftCreationTime,所以我用%d打印它,但它给了我负数,我尝试了%f,然后它给了我零,我需要帮助吗C 我需要帮助打印属于WIN32_FIND_数据结构的属性,c,winapi,C,Winapi,我正在尝试打印WIN32_FIND_数据属性struct ftCreationTime,所以我用%d打印它,但它给了我负数,我尝试了%f,然后它给了我零,我需要帮助吗 #include "stdafx.h" #include <windows.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) { FILETIME a ; WIN32_FIND_DATA x; HANDLE s=F
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
FILETIME a ;
WIN32_FIND_DATA x;
HANDLE s=FindFirstFile(L"d:\\uni\\*.*",&x);
if(s==INVALID_HANDLE_VALUE)
{
printf("Search failed!\n");
return 0;
}
if((x.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ==0)
_tprintf(L"The first file name is: %s\n",x.cFileName);
else
_tprintf(L"The first directory name is: %s\n",x.cFileName);
while(FindNextFile(s,&x))
{
if((x.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ==0)
_tprintf(L"The file name is: %s and the size is %d %d\n",x.cFileName,x.nFileSizeLow , x.ftCreationTime);
else
_tprintf(L"The directory name is: %s\n",x.cFileName );
}
FindClose(s);
return 0;
}
#包括“stdafx.h”
#包括
#包括
int _tmain(int argc,_TCHAR*argv[]
{
文件时间a;
WIN32_查找_数据x;
句柄s=FindFirstFile(L“d:\\uni\\\*.*”,&x);
if(s==无效的\u句柄\u值)
{
printf(“搜索失败!\n”);
返回0;
}
if((x.dwFileAttributes和文件属性目录)==0)
_tprintf(L“第一个文件名是:%s\n”,x.cFileName);
其他的
_tprintf(L“第一个目录名是:%s\n”,x.cFileName);
while(FindNextFile和x))
{
if((x.dwFileAttributes和文件属性目录)==0)
_tprintf(L“文件名为:%s,大小为%d%d\n”,x.cFileName,x.nFileSizeLow,x.ftCreationTime);
其他的
_tprintf(L“目录名为:%s\n”,x.cFileName);
}
FindClose(s);
返回0;
}
是类型。您需要使用将其转换为系统时间,然后打印它
要打印SYSTEMTIME
,只需打印结构的字段,就像打印WIN32_FIND_数据结构一样
SYSTEMTIME systemTime;
FileTimeToSystemTime(&x.ftCreationTime, &systemTime);
_tprintf(_T("The creation time is %02d-%02d-%d %02d:%02d:%02d\n"),
systemTime.wMonth, systemTime.wDay, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond);