BOOL Utility::ForceCreateDirectory(wstring strDir)
{
BOOL bRet = FALSE;
//确保以"\"结尾,以创建最后一个目录
if(strDir.find_last_of(L"\\") != strDir.length()-1)
{
strDir.append(L"\\");
}
vector<wstring> dirs; //存放每一层目录
wstring temp; //临时变量,存放目录字符串
for(size_t i=0; i != strDir.length(); ++i)
{
if(strDir[i] != L'\\')
{
temp += strDir[i];
}
else
{
dirs.push_back(temp);
temp += L'\\';
}
}
//遍历vector,创建目录
for(vector<wstring>::const_iterator iter=dirs.begin(); iter!=dirs.end(); ++iter)
{
bRet = CreateDirectory((*iter).c_str(), NULL);
}
return bRet;
}
相关阅读
----VC++ 创建删除多级目录源代码