Получаем время последнего изменения файла

Следующий пример получает время последнего изменения файла при помощи функции GetFileTime. Так же в примере показывается, как преобразовать это время относительно текущей временной зоны и создать строку с датой и временем, для того, чтобы показать пользователю.

 

// Возвращаемое значение - в случае успеха TRUE, иначе FALSE
// hFile - дескриптор файла
// lpszString - указатель на буфер для строки

BOOL GetLastWriteTime(HANDLE hFile, LPSTR lpszString)
{
FILETIME ftCreate, ftAccess, ftWrite;
SYSTEMTIME stUTC, stLocal;

// Получаем времена файла.
if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
return FALSE;

// Преобразуем время последнего изменения в локальное время.
FileTimeToSystemTime(&ftWrite, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);

// Составляем строку с датой и временем.
wsprintf(lpszString, "%02d/%02d/%d %02d:%02d",
stLocal.wDay, stLocal.wMonth, stLocal.wYear,
stLocal.wHour, stLocal.wMinute);

return TRUE;
}

 

 
« Предыдущая статья   Следующая статья »