C/C++教程

VC++ 循环遍历拷贝文件夹

本文主要是介绍VC++ 循环遍历拷贝文件夹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

从这个帖子的回答中发现

我感觉这个方式想法比较新颖,让我想要记录一下

bool CDirListCtrl::DirectoryOperate(CString strSrcFilePath, CString strDesFilePath, UINT nOptionType)
{
BOOL bRet = FALSE; //
CFileFind finder;
BOOL bWorking = finder.FindFile(strSrcFilePath);
while(bWorking)
{
bWorking = finder.FindNextFile();
if(finder.IsDots()) //如果是 "."(当前目录)或者 ".."(上级目录)
{
continue;
}

CString strSubSrcPath = finder.GetFilePath(); //得到源文件路径
CString strSubDespath = strSubSrcPath;
strSrcFilePath.Replace("\\*.*",""); //递归时处理
strDesFilePath.Replace("\\*.*","");
strSubDespath.Replace(strSrcFilePath, strDesFilePath); //得到目标文件路径

if(finder.IsDirectory())
{
CreateDirectory(strSubDespath,NULL); //创建新的文件夹
bRet = DirectoryOperate(strSubSrcPath +"\\*.*" , strSubDespath +"\\*.*" , nOptionType); //递归
}
else
{
bRet = CopyFile(strSubSrcPath, strSubDespath, false); //拷贝文件
}
if (!bRet) break;
}
finder.Close();
return bRet;
}

这篇关于VC++ 循环遍历拷贝文件夹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!