循環創建文件夾

o_pen_1 9年前發布 | 751 次閱讀 C/C++ 循環 創建文件夾

// 根據傳入路徑,創建出路徑文件/夾
BOOL CheckPathExists(const CString &strPath, bool bFolder = true)
{
// If Folder is exists
int nIndex = strPath.ReverseFind(_T('\'));
CString strTemp;
if(bFolder)
{
if(PathFileExists(strPath)) return TRUE;
}
else
{
strTemp = strPath.Left(nIndex);
if(PathFileExists(strTemp)) return TRUE;
}

// Create Folder
std::vector<CString> vecPath;
std::vector<CString>::iterator iter;
while(nIndex != -1)
{
strTemp = strPath.Left(nIndex);
if(strTemp.Right(1) != _T(':'))
vecPath.push_back(strTemp);
else break;

nIndex = strTemp.ReverseFind(_T('\'));
}

if(vecPath.size() > 0)
{
for(iter = vecPath.end() - 1; iter != vecPath.begin(); -- iter)
{
strTemp = *iter;
CreateDirectory(strTemp, NULL);
}
// 頂級目錄
CreateDirectory(vecPath[0], NULL);

if(bFolder) // 如果是文件夾
CreateDirectory(strPath, NULL);
}
return TRUE;
}


 本文由用戶 o_pen_1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!