zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    最长回文子串(马拉车)
    ubutun 启动/停止/重启MySQL数据库
    臭大佬_LZW
    Beauty Contest(求凸包最大直径)
    Smallest Bounding Rectangle(最小面积外接矩形)
    Triangle(求凸包最大内接三角形)
    P4196 [CQOI2006]凸多边形
    P4724 【模板】三维凸包(简洁)
    P2600 [ZJOI2008]瞭望塔【半平面交】
    退役记
  • 原文地址:https://www.cnblogs.com/autumoonchina/p/5852265.html
Copyright © 2011-2022 走看看