zoukankan      html  css  js  c++  java
  • MFC 遍历文件夹,获取文件信息

    // 遍历文件夹,获取文件信息
    void TravelFolder(CString strDir)
    {
        // 文件当前目录
        TCHAR Buffer[MAX_PATH];
        DWORD dwRet = GetCurrentDirectory(MAX_PATH, Buffer);
        CString strCurrent(Buffer);
    
        CFileFind filefind;                                         //声明CFileFind类型变量
    
        CString strWildpath = strDir + _T("\\*.*");     //所有文件都列出。
    
        if(filefind.FindFile(strWildpath, 0))                    //开始检索文件
        {
            BOOL bRet = TRUE;
    
            while(bRet)
            {
                bRet = filefind.FindNextFile();                 //枚举一个文件            
    
                if(filefind.IsDots())                                 //如果是. 或 .. 做下一个
                {
                    continue;
                }
    
                // 文件名 begin
                CString strFileName = filefind.GetFileName();
                // 文件名 end
    
                // 文件修改时间 begin
                FILETIME   filetime;
                FILETIME   localtime;
                SYSTEMTIME systemtime;
                filefind.GetLastWriteTime(&filetime);
    
                FileTimeToLocalFileTime(&filetime, &localtime); //换成本地时间
    
                FileTimeToSystemTime(&localtime, &systemtime);  //换成系统时间格式
    
                CString strTime = _T("");
                strTime.Format(_T("%04d%02d%02d%02d%02d%02d"),
                    systemtime.wYear, systemtime.wMonth, systemtime.wDay,
                    systemtime.wHour, systemtime.wMinute, systemtime.wSecond);
                // 文件修改时间 end            
    
                if(!filefind.IsDirectory())                          //不是子目录,把文件名打印出来
                {
                    CString strWrite = _T("");
                    strWrite += strFileName;
                    strWrite += _T("\t");
                    strWrite += strTime;
                    strWrite +=  + _T("\r\n");
                    TRACE(strWrite);
                }
                else                                                   //如果是子目录,递归调用该函数
                {
                    CString strNewDir = strDir + CString(_T("\\")) + filefind.GetFileName();
    
                    TravelFolder(strNewDir);//递归调用该函数打印子目录里的文件
                }
            }
    
            filefind.Close();
        }
    }
  • 相关阅读:
    linux 终端分屏命令vsp(转)
    ACE消息队列(转)
    iovec结构体定义及使用 (转)
    转: 写给想成为前端工程师的同学们 (from 360前端团队)
    转:苹果企业级开发者账号申请流程
    奇舞团的博客(360前端团队)
    腾讯开源组件
    转:android studio入门合集
    Raid分类说明 (from mongodb权威指南)
    转: linux下的自动对时
  • 原文地址:https://www.cnblogs.com/jdfemqi/p/3252288.html
Copyright © 2011-2022 走看看