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);
}