在vc2005中
我想输入“abc\bcd”,在根目录下创建abc文件夹,再在abc文件夹下创建bcd文件夹,我该如何做啊?
我用CreateDirectory(“abc\bcd”,NULL),不能用阿!
我想输入“abc\bcd”,在根目录下创建abc文件夹,再在abc文件夹下创建bcd文件夹,我该如何做啊?
我用CreateDirectory(“abc\bcd”,NULL),不能用阿!
CreateDirectory(“C:\\abc”,NULL),先创建abc
CreateDirectory(“C:\\abc\\bcd”,NULL)再创建bcd
CreateDirectory(“C:\\abc\\bcd”,NULL)再创建bcd
BOOL FileExist(TCHAR *strFile)
{
return (INVALID_FILE_ATTRIBUTES != GetFileAttributes(strFile));
}
LPCTSTR pszPath
);
#pragma comment(lib,"shlwapi.lib")BOOL bExgist = PathIsDirectory("C:\\CSDN");
LPCTSTR lpPathName, // pointer to directory path string
LPSECURITY_ATTRIBUTES lpSecurityAttributes // pointer to security descriptor
);
BOOL CSetup::DirIsExists(LPCTSTR lpDirectory)
{
CString strDir; //完整的路径
CString CurrentDir; //最后的子目录
CString strTemp;
CFileFind cff; //文件查找对象
int pos; //'\\'字符的位置
BOOL isDriver=FALSE; //是否盘符 //如果最后的字符为'\\',则删掉它
strDir.Format("%s",lpDirectory);
if(strDir.GetAt(strDir.GetAllocLength()-1)=='\\')
{
if(strDir.GetAt(strDir.GetAllocLength()-2)==':')
return TRUE; //给出的路径是盘符根目录
strDir.Delete(strDir.GetAllocLength()-1);
} //找到上一个'\\'字符,判断上一个'\\'字符之前是否盘符
//同时得到最后的子目录
for(pos=strDir.GetLength()-1;pos>=0;pos--)
{
if(strDir.GetAt(pos)=='\\')
break;
strTemp.Format("%c",(char)strDir.GetAt(pos));
CurrentDir=strTemp+CurrentDir;
}
if(strDir.GetAt(pos-1)==':')
isDriver=TRUE; //判断当前目录是否存在
if(cff.FindFile(strDir))
return TRUE;
else
{
if(isDriver==TRUE) //在盘符根目录下创建目录的情况
{
//创建目录
if(SetCurrentDirectory(strDir.Left(pos)+"\\"))
CreateDirectory(CurrentDir,NULL);
else
return FALSE; //设置当前路径失败 return TRUE;
} if(DirIsExists(strDir.Left(pos)))
{
//创建目录
if(SetCurrentDirectory(strDir.Left(pos)))
CreateDirectory(CurrentDir,NULL);
else
return FALSE; //设置当前路径失败 return TRUE;
}
return FALSE;
} return TRUE;
}