关于CFileFind归递问题。
BOOL bFailIfExists=TRUE;CFileFind finder;
CString strSrcPath = _T("E:\\temp");
if (strSrcPath.GetAt(strSrcPath.GetLength()-1) != '\\' )
strSrcPath += '\\';
BOOL bWorking = finder.FindFile(strSrcPath+_T("*"),0);
while(bWorking)
{
bWorking = finder.FindNextFile();
if ( finder.IsDots())
continue;
CString strSubSrcPath = finder.GetFilePath();
CString s = strSubSrcPath;
s.Replace(_T("E"),_T("D"));
//MessageBox(s);
if(FALSE == PathIsDirectory(_T("D:\\temp")))
CreateDirectory(_T("D:\\temp"),NULL);
if(finder.IsDirectory())
{
//CreateDirectory(s,NULL);
此处如何归递下层目录???我运行了只能找到一层目录。下面的目录就归递不了了?
}
else
{
CopyFile(strSubSrcPath,s,bFailIfExists);
}
}
finder.Close();
}
只能循环一层。如E:\temp\123\234\345 E:\temp\asd\sdf这样的结构。运行结果是:D:\temp\123 D:\temp\asd,在下一层的目录就不创建和复制了。