在c++builder6.0中如何获取文件修改时间,包括时分秒!
展开全部
BOOL GetFileAttributesEx(
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation
);
lpFileName:文件名
fInfoLevelId: 就传这个GetFileExInfoStandard
lpFileInformation: 传入一个WIN32_FILE_ATTRIBUTE_DATA结构的指针。
typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
从结构中可以取出创建时间和最后访问时间。是FILETIME类型的:
typedef struct _FILETIME {
DWORD dwLowDateTime; /* low 32 bits */
DWORD dwHighDateTime; /* high 32 bits */
} FILETIME, *PFILETIME, *LPFILETIME;
再调用下面这个函数转换为SYSTEMTIME,年月日时分秒就都出来了:
BOOL FileTimeToSystemTime(
const FILETIME* lpFileTime,
LPSYSTEMTIME lpSystemTime
);
对不起没有源码,不过我认为已经够详细了。
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation
);
lpFileName:文件名
fInfoLevelId: 就传这个GetFileExInfoStandard
lpFileInformation: 传入一个WIN32_FILE_ATTRIBUTE_DATA结构的指针。
typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
从结构中可以取出创建时间和最后访问时间。是FILETIME类型的:
typedef struct _FILETIME {
DWORD dwLowDateTime; /* low 32 bits */
DWORD dwHighDateTime; /* high 32 bits */
} FILETIME, *PFILETIME, *LPFILETIME;
再调用下面这个函数转换为SYSTEMTIME,年月日时分秒就都出来了:
BOOL FileTimeToSystemTime(
const FILETIME* lpFileTime,
LPSYSTEMTIME lpSystemTime
);
对不起没有源码,不过我认为已经够详细了。
参考资料: MSDN
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询