循环创建文件夹

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
// 根据传入路径,创建出路径文件/夹
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;
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:操作mysql的C#类

下一篇:C#调用SQLite演示代码