代码:
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdlib.h>
void delete(char * dirname)
{
DIR *dp = opendir(dirname);
if(dp == NULL)
{
return ;
}
while(1)
{
struct dirent *tb = readdir(dp);
if(tb ==NULL)
{
break;
}
if(strcmp(tb->d_name,".") ==0 ||strcmp(tb->d_name,"..")==0)
{
continue;
}
if(tb->d_type==DT_REG)
{
char * pathname =malloc(200);
snprintf(pathname,200,"%s/%s",dirname,tb->d_name);
unlink(pathname);
}
if(tb->d_type == DT_DIR)
{
char * pathname =malloc(200);
snprintf(pathname,200,"%s/%s",dirname,tb->d_name);
printf("%s\n",tb->d_name);
delete(pathname);
rmdir(pathname);
}
rmdir(dirname);
}
printf("删除成功\n");
}
int main(int argc, const char *argv[])
{
打开目录,返回指针
for(int i=1;i<argc;i++){
char *dirname;
dirname = argv[i];
// printf("%s\n",dirname);
delete(dirname);
}
return 0;
}