一个循环创建多级目录(vc++)

来源:互联网 发布:学校排课软件 编辑:程序博客网 时间:2024/05/20 07:35
 
BOOL createMultiDir(const TCHAR* pszDir)
{
 TCHAR szTmp[MAX_PATH] = {0};
 
 BOOL bSuccess = TRUE;
 
 TCHAR* pszHeader = szTmp;
 
 wsprintf(szTmp, _T("%s"), pszDir);
 
 int nLen = lstrlen(szTmp);
 
 for(int i = 0;  i < nLen; i++)
 {
  TCHAR* pch = _tcschr(szTmp + i, _T('//'));
  
  if(pch)
  {
   i = (pch - szTmp);
   
   *pch = 0;
   
   // directory is exist
   if(::GetFileAttributes(szTmp) == FILE_ATTRIBUTE_DIRECTORY)
   {
    *pch = _T('//');
    
    continue;
   }
   else
   {
    if(!::CreateDirectory(szTmp, NULL))
    {
     bSuccess = FALSE;
     
     break;
    }
   }
   
   *pch = _T('//');
  }
 }
 
 return bSuccess;
}