MFC如何遍历一个文件夹下的所有文件夹(不是文件,是文件夹)

MFC如何遍历一个文件夹下的所有文件夹(不是文件,是文件夹),第1张

用下面的

程序段

可以实现你要求的功能

CFileFind

ff

CString

strDir=

"d:\\Program

Files\\*.*"

BOOL

res

=

ff.FindFile(strDir)

while(res)

{

res

=

ff.

FindNextFile

if(ff.IsDirectory()

&&

(!ff.IsDots()))()//庆高遍历子目录,剔除".0”和".."两唯燃个

{

CString

strFile

=

ff.

GetFileName

()

//

在这里写需要的代码

}

}

ff.Close()

//

不要指差虚忘记关闭

若满意请及时采纳,谢谢

// 此函数实现遍历指定路径中的文件。你需要做的就是验证文件的后缀名。

#include "iostream"  

#include "windows.h"  

using namespace std  册凳   

void show_file(char path[], int level = 0)  

{  

    char find_path[128] 州燃旅 

    sprintf(find_path, "%s*", path)  

    WIN32_FIND_DATA FindFileData  

    HANDLE hFind  

    bool bContinue = true  

    hFind = FindFirstFile(find_path, &FindFileData)  

    if (hFind == INVALID_HANDLE_VALUE)   

        return  

    while (bContinue)  

    {  

        if (stricmp(FindFileData.cFileName, "..") && stricmp(FindFileData.cFileName, "."))  

        {  

            for (int i = 0 i < level ++i)  

                cout<<"  "  

            cout<<FindFileData.cFileName<<endl  

            if (FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)  

            {  

                sprintf(find_path, "%s%s\\", path, FindFileData.cFileName)  

                段返show_file(find_path, level + 1)  

            }  

        }  

        bContinue = FindNextFile(hFind, &FindFileData)  

    }  

}  

int main()     

{     

    char szPath[] = "c:\\windows\\"  

    show_file(szPath)  

    return 0  

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12148813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存