重点问题:如何输出?

解决方案 »

  1.   

    FileTimeToSystemTime转成系统时间,然后再打印。
      

  2.   

    findfistfile()函数的第二个参数,你好好看看,估计可以得到,系统的最后的修改的时间
      

  3.   

    楼上的,我看了。那个结构里边有修改时间。但是如何转化成字符串输出?
    typedef struct _WIN32_FIND_DATA { 
    DWORD dwFileAttributes; 
    FILETIME ftCreationTime; 
    FILETIME ftLastAccessTime; 
    FILETIME ftLastWriteTime; 
    DWORD nFileSizeHigh; 
    DWORD nFileSizeLow; 
    DWORD dwOID; 
    TCHAR cFileName[MAX_PATH]; 
    } WIN32_FIND_DATA;其中FILETIME ftLastWriteTime;是修改时间,可是他是FILETIME类型的。
    而FILETIME结构是这样的:
    typedef struct _FILETIME { // ft 
    DWORD dwLowDateTime; 
    DWORD dwHighDateTime; 
    } FILETIME; 
    如何printf?
      

  4.   

    SYSTEMTIME systemtime;
    FileTimeToSystemTime(&ftLastWriteTime, &systemtime);
    CTime time(systemtime);
    CString strTime = time.Format("%Y,%m,%d,%H,%M,%S");//注意区分大小写如果不嫌麻烦,可以不用CTime直接用systemtime转。详细的见MSDN吧。
      

  5.   

    "%Y,%m,%d,%H,%M,%S"  这个不需逗号分隔的,可以弄成任意你要的,比如"%Y年%m月%d日 %H时%M:%S" 
      

  6.   


    MFC 方法:
    CFile file;
    file.Open("e:\\test.txt",CFile::modeReadWrite); CFileStatus fs; file.GetStatus(fs); // 显示建立时间
    MessageBox( fs.m_ctime.Format("%Y-%m-%d %H:%M:%S") ); // 显示修改时间
    MessageBox( fs.m_mtime.Format("%Y-%m-%d %H:%M:%S") ); file.Close();
    注意【CFileStatus】的用法,详情查MSDN。