递归的创建目录
递归创建目录、删除目录
windows api中没有提供现成的多层创建目录、删除目录。这里修改了部分代码实现递归创建目录、删除目录。
//删除目录
bool deletedirectory(char* sdirname)
{
cfilefind tempfind;
char stempfilefind[200] ;
sprintf(stempfilefind,"%s\\*.*",sdirname);
bool isfinded = tempfind.findfile(stempfilefind);
while (isfinded)
{
isfinded = tempfind.findnextfile();
if (!tempfind.isdots())
{
char sfoundfilename[200];
strcpy(sfoundfilename,tempfind.getfilename().getbuffer(200));
if (tempfind.isdirectory())
{
char stempdir[200];
sprintf(stempdir,"%s\\%s",sdirname,sfoundfilename);
deletedirectory(stempdir);
}
else
{
char stempfilename[200];
sprintf(stempfilename,"%s\\%s",sdirname,sfoundfilename);
deletefile(stempfilename);
}
}
}
tempfind.close();
if(!removedirectory(sdirname))
{
return false;
}
return true;
}
// 判断目录是否存在
bool folderexists(cstring s)
{
dword attr;
attr = getfileattributes(s);
return (attr != (dword)(-1) ) &&
( attr & file_attribute_directory);
}
// 创建目录
bool createdir(cstring p)
{
int len=p.getlength();
if ( len <2 ) return false;
if('\\'==p[len-1])
{
p=p.left(len-1);
len=p.getlength();
}
if ( len <=0 ) return false;
if (len <=3)
{
if (folderexists(p))return true;
else return false;
}
if (folderexists(p))return true;
cstring parent;
parent=p.left(p.reversefind('\\') );
if(parent.getlength()<=0)return false;
bool ret=createdir(parent);
if(ret)
{
security_attributes sa;
sa.nlength=sizeof(security_attributes);
sa.lpsecuritydescriptor=null;
sa.binherithandle=0;
ret=(createdirectory(p,&sa)==true);
return ret;
}
else
return false;
}

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

