设为首页 加入收藏

TOP

怎么删除一个非空的目录?
2014-11-23 22:51:34 】 浏览:390
Tags:怎么 删除 一个 空的 目录

  这是还没写好的源码:


  #include
  #include
  #include
  #include
  #include
  int main( void )
  {
   DIR* dirp;
   struct dirent* direntp;
   struct stat buf;
   pid_t pid;
   dirp = opendir( "/share/tmp" );/*打开一个目录 */
   if( dirp == NULL ) {
   perror( "can't open /share/tmp" );
   } else {
   for( ; ; ) {
   direntp = readdir( dirp ); /*读目录里的内容*/
   if( direntp == NULL ) /*如果是个空目录就把它删除*/
rmdir(/share/tmp);
for( ; ; ) {
if(lstat(directp->s_name,&buf)<0) { /*读出文件名*/
printf("lstat error\n");
exit(-1);
}else{
if( ! S_ISDIR(buf.st_mode)) < 0) { /*判断是否是一个目录*/
printf("check file mode error\n");
exit(1);
}else if
unlink(directp->s_name) ; /*如果不是就删除它*/
else
if((pid=fork())<0) {/*如果是就判断是否是一个空目录,是就删除它,这里考虑得不周到,fork一个进程,运行上面的算法,就是这里不懂了。要写个函数吧?*/
printf("fork error\n");
exit(1);
else if(pie == 0 )
chdir(directp->s_name);/*新的进程cd到新的目录*/
   }
   closedir( dirp );
   }
  return EXIT_SUCCESS;
  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇什么函数将十进制数转化为十六进制 下一篇void*alloca()中不懂的

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目