CreateDirectory创建路径
CreateDirectory可以用来创建路径,但是这个函数不是递归的。它可以在一个路径中创建唯一的最终目录。也就是说,如果父目录或中间目录不存在,该函数将失败并显示错误消息ERROR_PATH_NOT_FOUND。
依次创建文件路径:
void CreateClientFileBackUpPath(CString strFileBackUpPath)
{
if (strFileBackUpPath.IsEmpty())
{
return;
}
vector<CString> vecFilePath;
for (int i = 0; i != strFileBackUpPath.GetLength(); i++)
{
CString strSuperiorFileClinetPath;
if (strFileBackUpPath[i] == '\\')
{
strSuperiorFileClinetPath = strFileBackUpPath.Mid(0, i);
vecFilePath.push_back(strSuperiorFileClinetPath);
}
}
if (vecFilePath.empty())
{
return;
}
vector<CString>::iterator iterVec = vecFilePath.begin();
for (; iterVec != vecFilePath.end(); iterVec++)
{
if (PathFileExistsW(*iterVec))
{
continue;
}
CreateDirectoryW((*iterVec).GetString(), NULL);
}
}
Ps: 当前函数参数没做处理,必须以“\”结尾的路径才能创建成功:
CString strFileBackUpPath = L"C:\\TempPath\\"; //成功
CString strFileBackUpPath1 = L"C:\\TempPath"; //失败