首页 > 代码库 > 得到文件的创建时间修改时间等
得到文件的创建时间修改时间等
#include <windows.h>#include <tchar.h>#include <strsafe.h>// GetLastWriteTime - Retrieves the last-write time and converts// the time to a string//// Return value - TRUE if successful, FALSE otherwise// hFile - Valid file handle// lpszString - Pointer to buffer to receive stringBOOL GetLastWriteTime(HANDLE hFile, LPTSTR lpszString, DWORD dwSize){ FILETIME ftCreate, ftAccess, ftWrite; SYSTEMTIME stUTC, stLocal; DWORD dwRet; // Retrieve the file times for the file.if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)) return FALSE; // Convert the last-write time to local time. FileTimeToSystemTime(&ftWrite, &stUTC); SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal); // Build a string showing the date and time. dwRet = StringCchPrintf(lpszString, dwSize, TEXT("%02d/%02d/%d %02d:%02d"), stLocal.wMonth, stLocal.wDay, stLocal.wYear, stLocal.wHour, stLocal.wMinute); if( S_OK == dwRet ) return TRUE; elsereturn FALSE;}int _tmain(int argc, TCHAR *argv[]){ HANDLE hFile; TCHAR szBuf[MAX_PATH]; if( argc != 2 ) { printf("This sample takes a file name as a parameter\n"); return 0; } hFile = CreateFile(argv[1], GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); if(hFile == INVALID_HANDLE_VALUE) { printf("CreateFile failed with %d\n", GetLastError()); return 0; } if(GetLastWriteTime( hFile, szBuf, MAX_PATH )) _tprintf(TEXT("Last write time is: %s\n"), szBuf); CloseHandle(hFile); } 另外例子 觉得这个好 FILETIME ftCreate, ftModify, ftAccess; CString strCreateTime, strModifyTime, strAccessTime; CString strFilePath = _T(""); GetDlgItem(IDC_EDT_FILEPATH)->GetWindowText(strFilePath); // 文件路径 HANDLE hFile = CreateFile(strFilePath, GENERIC_READ, // open for reading FILE_SHARE_READ, // share for reading NULL, // default security OPEN_EXISTING, // existing file only FILE_FLAG_BACKUP_SEMANTICS , // normal file NULL); SYSTEMTIME stLocal; if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftModify)) { return ; } ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftCreate, &stLocal); strCreateTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay, stLocal.wHour, stLocal.wMinute, stLocal.wSecond); // 文件创建时间 ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftModify, &stLocal); strModifyTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay, stLocal.wHour, stLocal.wMinute, stLocal.wSecond); // 文件修改时间 ZeroMemory(&stLocal, sizeof(SYSTEMTIME)); FileTimeToSystemTime(&ftAccess, &stLocal); strAccessTime.Format("%04d-%02d-%02d %02d:%02d:%02d", stLocal.wYear, stLocal.wMonth, stLocal.wDay, stLocal.wHour, stLocal.wMinute, stLocal.wSecond); // 文件访问时间 SetDlgItemText(IDC_STC_CREATETIME, strCreateTime); SetDlgItemText(IDC_STC_MODIFYTIME, strModifyTime); SetDlgItemText(IDC_STC_ACCESSTIME, strAccessTime);
得到文件的创建时间修改时间等
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。