I was writing a custom installation script and needed to create many sub
directories. I looked at Brad Gutilla’s article and thought that there had
to be a simpler method. Recursion steps in and saves the day. Not much to
say about the code, as it is pretty simple and easy to follow.
void CreateAllDirectories(CString strDir)
{
// remove ending / if exists
if(strDir.Right(1)==”\”)
strDir=strDir.Left(strDir.GetLength()-1);// base case . . .if directory exists
if(GetFileAttributes(strDir)!=-1)
return;// recursive call, one less directory
int nFound = strDir.ReverseFind(‘\’);
CreateAllDirectories(strDir.Left(nFound));// actual work
CreateDirectory(strDir,NULL);
}