MFC根据输入路径创建文件夹(无默认文件夹)
程序员文章站
2022-06-14 15:44:47
...
函数名:CreateDir
函数功能:根据传入的路径创建文件夹
参数:strSetPath
(入口)strSetPath:传入的完整路径
返回值:无
额外说明:与之前写的一个CreateDir版本不同,该版本不会创建一个默认的文件夹作者:weekdawn
void CMD5TestDlg::CreateDir(CString setPath)//suppose as : setPath = D:\test\temp
{
//默认生成的文件夹
if (setPath.IsEmpty())
{
MessageBox(_T("目录为空,无法创建文件夹!"));
}
//如果指定了目录,则根据目录生成文件夹
else
{
//将路径根据"\"分割开
CStringArray editArr;
int nPos = setPath.Find(_T("\\"));
//如果找到路径分隔符,则根据路径创建文件夹
if (nPos != -1)
{
CString temp;
temp = _T("");
while(0 <= nPos)
{
temp = setPath.Left(nPos);
if(!temp.IsEmpty())
editArr.Add(temp);
setPath = setPath.Right(setPath.GetLength() - nPos -1);
nPos = setPath.Find(_T("\\"));
}
if (!setPath.IsEmpty())
{
editArr.Add(setPath);
}
int nSize = editArr.GetSize();
//创建多级文件夹
CString dirPath;
dirPath = editArr.GetAt(0) + _T("\\") + editArr.GetAt(1);//D:\test
if (!PathFileExists(dirPath))
{
CreateDirectory(dirPath,NULL);
}
for (int i = 2; i < nSize; i++)
{
dirPath = dirPath + _T("\\") + editArr.GetAt(i);
if (!PathFileExists(dirPath))
{
CreateDirectory(dirPath,NULL);
}
}
}
//如果没有路径分隔符"\",则在当前目录下生成改文件夹//like : setPath = test
else
{
if (!PathFileExists(setPath))
{
CreateDirectory(setPath,NULL);
}
}
}
}
上一篇: C#实现HTML转WORD及WORD转PDF的方法
下一篇: C#日历样式的下拉式计算器实例讲解