• c++获取文件修改时间


    #include <windows.h>
    #include <stdio.h>
    //----------- Error Handling Function -------------------
    void error(LPSTR lpszFunction)
    {
        CHAR szBuf[80];
        DWORD dw = GetLastError();
    
        sprintf(szBuf, "%s failed: GetLastError returned %u
    ",
            lpszFunction, dw);
    
        MessageBox(NULL, szBuf, "Error", MB_OK);
        ExitProcess(dw);
    }
    //--------------------------------------------------------
    
    BOOL GetFileTime(HANDLE hFile, LPSTR lpszCreationTime, LPSTR lpszLastAccessTime, LPSTR lpszLastWriteTime)
    {
        FILETIME ftCreate, ftAccess, ftWrite;
        SYSTEMTIME stUTC1, stLocal1, stUTC2, stLocal2, stUTC3, stLocal3;
    
        // -------->获取 FileTime
        if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)){
            error("GetFileTime()");
            return FALSE;
        }
        //---------> 转换: FileTime --> LocalTime
        FileTimeToSystemTime(&ftCreate, &stUTC1);
        FileTimeToSystemTime(&ftAccess, &stUTC2);
        FileTimeToSystemTime(&ftWrite, &stUTC3);
    
        SystemTimeToTzSpecificLocalTime(NULL, &stUTC1, &stLocal1);
        SystemTimeToTzSpecificLocalTime(NULL, &stUTC2, &stLocal2);
        SystemTimeToTzSpecificLocalTime(NULL, &stUTC3, &stLocal3);
    
        // ---------> Show the  date and time.
        wsprintf(lpszCreationTime, "创建时间:	%02d/%02d/%d  %02d:%02d",
            stLocal1.wDay, stLocal1.wMonth, stLocal1.wYear,
            stLocal1.wHour, stLocal1.wMinute);
        wsprintf(lpszLastAccessTime, "最后访问时间:	%02d/%02d/%d  %02d:%02d",
            stLocal2.wDay, stLocal2.wMonth, stLocal2.wYear,
            stLocal2.wHour, stLocal2.wMinute);
        wsprintf(lpszLastWriteTime, "最后修改时间:	%02d/%02d/%d  %02d:%02d",
            stLocal3.wDay, stLocal3.wMonth, stLocal3.wYear,
            stLocal3.wHour, stLocal3.wMinute);
        return TRUE;
    }
    //----------------------------------------------------------------
    int main(int argn, char* argv[])
    {
        if (argn < 2)
        {
            return -1;
        }
    
        HANDLE hFile;
        TCHAR szCreationTime[30], szLastAccessTime[30], szLastWriteTime[30];
        hFile = CreateFile(argv[1], 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        GetFileTime(hFile, szCreationTime, szLastAccessTime, szLastWriteTime);
        if (hFile == INVALID_HANDLE_VALUE){
            error("GetLastWriteTime()");
            return 0;
        }
        printf("%s
    %s
    %s
    ", szCreationTime, szLastAccessTime, szLastWriteTime);
        CloseHandle(hFile);
        system("pause");
    
        return 0;
    }
  • 相关阅读:
    【LCA】BZOJ1832 & BZOJ1787(AHOI)-集会
    【线段树+离散化】POJ2528-Mayor's posters
    JavaScript Array 整理
    常见的原生javascript DOM操作
    javascript中执行环境和作用域(js高程)
    javascript作用域链
    javascript执行环境及作用域
    [转]深入javascript——原型链和继承
    [转]深入javascript——构造函数和原型对象
    Java接口中的成员变量为什么必须声明为public static final?
  • 原文地址:https://www.cnblogs.com/autumoonchina/p/5852265.html
Copyright © 2020-2023  润新知