人亦已歌 发表于 2023-2-17 14:18:13

FindFirstFile和FindNextFile遍历文件夹API以及递归核心逻辑



#include <stdio.h>
#include <Windows.h>
DWORD dwTotalFileNum;
DWORD EnumerateFileInDirectory(LPTSTR szPath){
        //FindFirstFile();
        //FindNextFile();
        //WIN32_FIND_DATA结构体


        WIN32_FIND_DATAA FindFileData;
        HANDLE handel;
        TCHAR szFilePath;
        TCHAR szFullPath;

        lstrcpy(szFilePath,szPath);
        lstrcat(szFilePath,TEXT("\\*"));//给传入的文件夹路径追加通配符

        handel=FindFirstFile(szFilePath,&FindFileData);
        if(handel==INVALID_HANDLE_VALUE){
                printf("读取错误");
                return 1;
        }else{
                do{
                        if(lstrcmp(FindFileData.cFileName,".")==0 || lstrcmp(FindFileData.cFileName,"..")==0){
                                continue;
                        }

                        wsprintf(szFullPath,"%s\\%s",szPath,FindFileData.cFileName); //构造文件全路径
                        dwTotalFileNum++;
                        printf("\n%d\t%s\t",dwTotalFileNum,szFullPath); //打印文件全路径

                        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){//如果是文件夹就递归
                                printf("<IDR>");
                                EnumerateFileInDirectory(szFullPath);
                        }

                        //printf("文件名%s\t\t",FindFileData.cFileName);

                        //if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_ENCRYPTED){
                        //printf("<加密文件>");
                        //}
                        //if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN){
                        //printf("<隐藏文件>");
                        //}
                       
                }while(FindNextFile(handel,&FindFileData));
        }
        return 0;
}


int main(){
       

        EnumerateFileInDirectory(TEXT("C:\\Windows"));
        printf("\n");
        system("pause");
        return 0;
}


宿命原创 发表于 2023-2-18 15:26:02

努力也

handsomewill 发表于 2023-2-19 10:31:47

真是:贴好贴好的贴一篇好贴一篇极品贴一篇挺好的贴一篇非常好的贴一篇让人叫好的贴一篇非常不错的好贴一篇地球中最好的好贴一篇地球中绝世无双的贴

SWolf 发表于 2023-2-19 23:36:46

很不错的,值得深思!

GONNASAYBYE 发表于 2023-2-20 22:46:11

不错!

北仑色 发表于 2023-2-21 13:55:35

我不是计算机系的,但是也想从事程序员之类的工作,今年找工作,遇到种种挫折,今天读到这篇文章,受益匪浅啊!非常感谢,值得深思!

沁儿 发表于 2023-2-22 03:00:22

看完后除了感慨还是感慨啊谢谢楼主给我这么好的文章看我很受益中国的程序员都要努力啊~而且点明了我今后的目标真的很谢谢

小小二 发表于 2023-2-25 10:32:11

不错,真的不错,很受感悟,让计算机执行更少的指令完成更多的工作,才是我所愿~

啊远 发表于 2023-2-26 05:39:35

经历过的是最有价值的能让它与别人分享更好

hpygzhx520 发表于 2023-2-27 01:47:56

果然必读!!
页: [1] 2 3 4
查看完整版本: FindFirstFile和FindNextFile遍历文件夹API以及递归核心逻辑