MFC获取指定文件夹文件目录
我想获取某个驱动器(不定)下的文件夹中的文件,在MFC中怎么获取。求例子。X:\A\B\C(获取C文件夹中的文件)...
我想获取某个驱动器(不定)下的文件夹中的文件,在MFC中怎么获取。求例子。X:\A\B\C(获取C文件夹中的文件)
展开
4个回答
展开全部
在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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CFileFind finder;
BOOL isfind=finder.FindFile(“X:\\A\\B\\C”);
while(finder.FindNextFile())
{
CString file= finder.GetFileTitle();//你要的文件名
}
BOOL isfind=finder.FindFile(“X:\\A\\B\\C”);
while(finder.FindNextFile())
{
CString file= finder.GetFileTitle();//你要的文件名
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请参考我之前的贴子,实现的其实是一样的功能:
http://zhidao.baidu.com/question/336666591.html
http://zhidao.baidu.com/question/336666591.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询