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

我想获取某个驱动器(不定)下的文件夹中的文件,在MFC中怎么获取。求例子。X:\A\B\C(获取C文件夹中的文件)... 我想获取某个驱动器(不定)下的文件夹中的文件,在MFC中怎么获取。求例子。X:\A\B\C(获取C文件夹中的文件) 展开
 我来答
cooke1234
推荐于2016-10-27 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3594万
展开全部

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

示例:

void ListFolder(const CString & sPath)
{
    CFileFind ff;   
    BOOL bFound = ff.FindFile(sPath + "\\*.*");
    while(bFound)
    {
        bFound = ff.FindNextFile();
        if(ff.IsDirectory())  //是目录
        {
            if(!ff.IsDots()) //不是本级目录或父目录(.和..)
                ListFolder(ff.GetFilePath()); //递归子目录
        }
        else
        {
            AfxMessageBox("文件:" + ff.GetFilePath());
        }
    }
    ff.Close();
}
匿名用户
2011-11-22
展开全部
原型:
int WINAPI icePub_getPathList(char *strCurrentPath,char *strPathList,int maxLen,int flag)
输入:strCurrentPath 待搜索路径名
maxLen strPathList最大长度
flag 信息标志,0 只文件名,1 文件长度
输出:strPathList 带全路径文件名

char buffer[1024*10+1];
{
typedef int (WINAPI ICEPUB_GETPATHLIST)( char *strCurrentPath,char *strPathList,int maxLen,int flag);
ICEPUB_GETPATHLIST *icePub_getPathList = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getPathList = (ICEPUB_GETPATHLIST *)GetProcAddress(hDLLDrv, "icePub_getPathList");
}

if(icePub_getPathList != NULL)
{
int a;
buffer[0]=0;
a=icePub_getPathList("X:\\A\\B\\C",buffer,1024*10,1);
AfxMessageBox(buffer);
}
if(hDLLDrv)
FreeLibrary(hDLLDrv);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
地球9号
2011-11-23 · 超过10用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:25.2万
展开全部
CFileFind finder;
BOOL isfind=finder.FindFile(“X:\\A\\B\\C”);
while(finder.FindNextFile())
{
CString file= finder.GetFileTitle();//你要的文件名
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
越风78
2011-11-25 · TA获得超过157个赞
知道答主
回答量:85
采纳率:0%
帮助的人:52.8万
展开全部
请参考我之前的贴子,实现的其实是一样的功能:
http://zhidao.baidu.com/question/336666591.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式