如何得到一个指定文件的相关属性,
比如文件的创建时间,修改时间,访问时间。

解决方案 »

  1.   

    BOOL GetFileAttributesEx(
      LPCTSTR lpFileName,
      GET_FILEEX_INFO_LEVELS fInfoLevelId,
      LPVOID lpFileInformation
    );
      

  2.   

    BOOL GetFileAttributesEx(
      LPCTSTR lpFileName,
      GET_FILEEX_INFO_LEVELS fInfoLevelId,
      LPVOID lpFileInformation
    }lpFileInformation:是指向
    typedef struct _WIN32_FILE_ATTRIBUTE_DATA{ 
        DWORD      dwFileAttributes;   //只读,属性
        FILETIME   ftCreationTime;     //创建时间
        FILETIME   ftLastAccessTime;   //访问时间
        FILETIME   ftLastWriteTime;    //最后一些修改时间
        DWORD      nFileSizeHigh;      //文件大小的高4个字节
        DWORD      nFileSizeLow;       //文件大小的低4个字节 
    } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA; 
    的指针FILETIME 可以用CTime来转换
      

  3.   

    CFileStatus rStatus;
    if(CFile::GetStatus(m_strFile,rStatus))
    {
    //
                      m_strSize.Format("%d字节",rStatus.m_size);
    m_strCTime = rStatus.m_ctime.Format("%Y年%m月%d日 %H:%M:%S");
    m_strMTime = rStatus.m_mtime.Format("%Y年%m月%d日 %H:%M:%S");
    m_strATime = rStatus.m_atime.Format("%Y年%m月%d日 %H:%M:%S");
    //是否只读
    if((rStatus.m_attribute & 0x01) == 0x01)
    m_bReadOnly = TRUE;
    else
    m_bReadOnly = FALSE;
    //是否隐藏
    if((rStatus.m_attribute & 0x02) == 0x02)
    m_bHidden = TRUE;
    else
    m_bHidden = FALSE;
    //是否存档
    if((rStatus.m_attribute & 0x20) == 0x20)
    m_bArchive = TRUE;
    else
    m_bArchive = FALSE;
    //是否系统文件
    if((rStatus.m_attribute & 0x04) == 0x04)
    m_bSystem = TRUE;
    else
    m_bSystem = FALSE;
    }
      

  4.   

    或者用FindFirstFile也可以,也能实现你要的功能。