1个回答
展开全部
CFileFind finder;
if(finder.IsDirectory() && !finder.IsDots())
{
// 是子文件夹,递归调用本函数
}
else
{
finder.GetFilePath(); // 获取文件的完整路径
finder.GetFileName(); // 获取文件名,包括扩展名
}
if(finder.IsDirectory() && !finder.IsDots())
{
// 是子文件夹,递归调用本函数
}
else
{
finder.GetFilePath(); // 获取文件的完整路径
finder.GetFileName(); // 获取文件名,包括扩展名
}
追问
能再补充完整吗,放在一个button控件的事件中:单击,选择文件夹,输出所有文件的路径到IDC_EDIT1的edit control中。
追答
BS百度,贴代码说超过字数,无法提交回答!!
int CTestView::LsDir(CString strPath)
{
CFileFind finder;
BOOL res = finder.FindFile(strPath + _T("*.*"));
while (res)
{
res = finder.FindNextFile();
if (finder.IsDirectory()) // 是文件夹
{
strName = finder.GetFileName(); // 得到路径,做为递归调用的开始
if (LsDir(strPath + strName) == -1)
{
finder.Close();
return -1;
}
}
else // 如果是文件
{
strName = finder.GetFileName(); // 得到文件名,如果要获取文件的完整路径:finder.GetFilePath();
// 在此输出到edit控件
}
}
finder.Close();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询