这个只能删除一个空文件,而且如果要删除文件夹中的文件夹就不行了
追答那就使用rd /s
本回答被网友采纳这位高手知道是咋个弄得吗?求代码呀!而且请不要用关于dir的处理
追答#include
#include
#include
#include
BOOL DeleteDir(char* path)
{
WIN32_FIND_DATA finddata;
HANDLE hfind;
char* pdir;
pdir=new char[strlen(path)+5];
strcpy(pdir,path);
if(path[strlen(path)-1]!='\\')
strcat(pdir,"\\*.*");
else
strcat(pdir,"*.*");
hfind=FindFirstFile(pdir,&finddata);
if(hfind==INVALID_HANDLE_VALUE)
return FALSE;
delete []pdir;
do
{
pdir=new char[strlen(path)+strlen(finddata.cFileName)+2];
sprintf(pdir,"%s\\%s",path,finddata.cFileName);
if(strcmp(finddata.cFileName,".")==0
||strcmp(finddata.cFileName,"..")==0)
{
RemoveDirectory(pdir);
continue;
}
if((finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)==0)
DeleteFile(pdir);
else
DeleteDir(pdir);
delete []pdir;
}while(FindNextFile(hfind,&finddata));
if(RemoveDirectory(path))
return TRUE;
else
return FALSE;
}
int main()
{
char str[]="D:\\MMM";
bool x;
x=DeleteDir(str);
return 0;
}
system("rd c:\\123\\); 只能删除空文件夹
#include
int main()
{
system("rd D:\\MMM /s /q");//删除文件夹
return 0;
}
rmdir函数也可以 参考MSDN
试试这个