C++技巧(判断目录是否存在并创建目录)
确定目录是否存在并创建:
//测试哪个目录存在
cstring m _ dir;
if (m_dir。right(1)= " \ \ "
m _ dir = m _ dir。左(m_dir。GetLength()-1);
if(getfile attributes(m _ dir)= = FILE _ ATTRIBUTE _ DIRECTORY)
return true;
else
create all directory(m _ dir);
//Function CreateAllDirectory
//递归函数
void CreateAllDirectory(CString Dir)
{
if(Dir。right(1)= " \ \ "
Dir = Dir。左(方向。GetLength()-1);
if(getfile attributes = = FILE _ ATTRIBUTE _ DIRECTORY)
return;
else if(getfile attributes(Dir)!=-1)
{
if(delete file(Dir))//删除同名文件
if (CreateDirectory(Dir,NULL))
return;
MessageBox(_T("无法为捕获的图片创建目录"),NULL,MB _ OK);
}
int n = Dir。reverse find(' \ \ ');
CreateAllDirectory(Dir。左(n));
如果(!CreateDirectory(Dir,NULL))
MessageBox(_T("无法为捕获的图片创建目录"),NULL,MB _ OK);
}
大测试提示可以判断Dir中的文件是否存在,也可以通过FileFind来实现:
Bool file exist(cstringstrfilename)
{
cfilefind f find;
return fFind。FindFile(strFileName);
}
0条评论