MFC获取指定文件夹文件目录

MFC获取指定文件夹文件目录,第1张

在MFC中,使用CFileFind类,可以枚举一个目录下的所有文件和子目录。

示例:

void ListFolder(const CString & sPath)

{

    CFileFind ff;   

    BOOL bFound = ffFindFile(sPath + "\\");

    while(bFound)

    {

        bFound = ffFindNextFile();

        if(ffIsDirectory())  //是目录

        {

            if(!ffIsDots()) //不是本级目录或父目录(和)

                ListFolder(ffGetFilePath()); //递归子目录

        }

        else

        {

            AfxMessageBox("文件:" + ffGetFilePath());

        }

    }

    ffClose();

}

递归获取本文件夹(包括子文件夹)中的文件:

int CountDirectory(CString path)

{

int count = 0;

CFileFind finder;

BOOL working = finderFindFile(path + "\\");

while (working)

{

working = finderFindNextFile();

if (finderIsDots())

continue;

if (finderIsDirectory())

count += CountDirectory(finderGetFilePath());

else

count++;

}

return count;

}

只获取本文件夹中的文件:

int CountDirectory(CString path)

{

int count = 0;

CFileFind finder;

BOOL working = finderFindFile(path + "\\");

while (working)

{

working = finderFindNextFile();

if (finderIsDots())

continue;

if (!finderIsDirectory())

count++;

}

return count;

}

可以使用SHGetSpecialFolderLocation函数获得“我的电脑”所对应的虚拟文件夹的id。然后使用ShellExecuteEx打开这个虚拟文件夹。

使用API函数SHGetSpecialFolderLocation。shlobjh里有SHGetSpecialFolderLocation的原型声明。这个函数可以帮我们找到Windows的桌面目录、启动目录、我的文档目录等。

以上就是关于MFC获取指定文件夹文件目录全部的内容,包括:MFC获取指定文件夹文件目录、vc如何获取文件夹中文件个数、VC,如何打开一个文件夹(就象打开我的电脑一样的显示一个文件夹)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9704244.html

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

发表评论

登录后才能评论

评论列表(0条)

保存