• vc遍历目录


    #include "stdafx.h" 
    #include 
    <windows.h> 
    #define FILEILTER 
    "*.*"

    BOOL IsRoot(LPCTSTR lpszPath) 

        TCHAR szRoot[
    4]; 
        wsprintf(szRoot, 
    "%c:\\", lpszPath[0]); 
        
    return (lstrcmp(szRoot, lpszPath) == 0); 
    }
     

    void FindInAll(LPCTSTR lpszPath) 
    {
        TCHAR szFind[MAX_PATH]; 
        lstrcpy(szFind, lpszPath); 
        
    if (!IsRoot(szFind)) 
            lstrcat(szFind, 
    "\\"); 
        lstrcat(szFind, FILEILTER); 
    // 找所有文件 
        WIN32_FIND_DATA wfd; 
        HANDLE hFind 
    = FindFirstFile(szFind, &wfd); 
        
    if (hFind == INVALID_HANDLE_VALUE) // 如果没有找到或查找失败 
            return
        
        
    do 
        

            
    if (wfd.cFileName[0== '.'
                
    continue// 过滤这两个目录 
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
            

                TCHAR szFile[MAX_PATH]; 
                
    if (IsRoot(lpszPath)) 
                    wsprintf(szFile, 
    "%s%s", lpszPath, wfd.cFileName); 
                
    else 
                
    {
                    wsprintf(szFile, 
    "%s\\%s", lpszPath, wfd.cFileName); 
                    FindInAll(szFile); 
    // 如果找到的是目录,则进入此目录进行递归 
                }

            }
     
            
    else 
            

                TCHAR szFile[MAX_PATH]; 
                
    if (IsRoot(lpszPath)) 
                
    {
                    wsprintf(szFile, 
    "%s%s", lpszPath, wfd.cFileName); 
                }

                
    else 
                
    {
                    wsprintf(szFile, 
    "%s\\%s", lpszPath, wfd.cFileName); 
                    printf(
    "%s\n",szFile); 
                }

                
    // 对文件进行操作 
            }
     
        }
     while (FindNextFile(hFind, &wfd)); 
        FindClose(hFind); 
    // 关闭查找句柄 
        
    }
     
    int main(int argc, char* argv[]) 

        FindInAll(
    "C:\\TEST"); 
        
    return 0
    }
     
  • 相关阅读:
    02. 爬取get请求的页面数据
    配置visual studio code进行asp.net core rc2的开发(转载jeffreywu)
    C#条件编译,发布多平台和多种选择性的项目
    控制台当前行显示进度条,不换行
    对"使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework"增加说明
    ASP.NET Core文章汇总
    jquery.tmpl 用法(附上详细案例)
    Pure扩展站--个人博客
    使用@media做自适应
    简单的计划任务实现。。。
  • 原文地址:https://www.cnblogs.com/ahuo/p/1025197.html
Copyright © 2020-2023  润新知