1 void CreateDir(const string& strPath) 2 { 3 if (PathFileExists(strPath.c_str())) 4 { 5 return; 6 } 7 8 size_t sPrePos = 0; 9 string strTmp = ""; 10 size_t sPos = strPath.find('\\'); 11 if (sPos == string::npos) 12 { 13 return; 14 } 15 16 strTmp = strPath.substr(0, sPos + 1); 17 if ( !PathFileExists( strTmp.c_str() ) ) 18 { 19 return; 20 } 21 22 sPrePos = sPos + 1; 23 sPos = strPath.find('\\', sPrePos); 24 while (sPos != string::npos) 25 { 26 strTmp = strPath.substr(0, sPos); 27 if (!PathFileExists(strTmp.c_str())) 28 { 29 CreateDirectory(strTmp.c_str(), NULL); 30 } 31 32 sPrePos = sPos + 1; 33 sPos = strPath.find('\\', sPrePos); 34 } 35 36 if (!PathFileExists(strPath.c_str())) 37 { 38 CreateDirectory(strPath.c_str(), NULL); 39 } 40 41 }