• 8344阅读
  • 3回复

qt中怎么删除一个非空目录 [复制链接]

上一主题 下一主题
离线renmenziji
 

只看楼主 倒序阅读 楼主  发表于: 2006-07-14
qt中怎么删除一个非空目录
离线renmenziji

只看该作者 1楼 发表于: 2006-07-14
我写了个麻烦的,有简单的么,为什么rmdir非要空文件夹呢?麻烦?大家帮帮忙!

#include <qdir.h>
#define DIRNAME "e:/test"                    
void foo1(QString );
void main()
{
   foo1(DIRNAME);
}
void foo1(QString s)
{
   if(s.right(1) != "/" ) s.append("/");    //判断格式
   QDir dir(s);
   if(!dir.exists(s,true)) return ;        //是否存在
   int dc = dir.count();
   dir.rmdir(s,true);
   if(dir.exists(s,true))
   {
       for(int i =2 ; i< dc; i++)
       {
           QString temp = s ;
           temp.append(dir);
           dir.rmdir(temp,true);        //假设其是目录
           dir.remove(temp,true);        //或者是文件
           if(dir.exists(temp,true))    //判断是否删除
           {    
               foo1(temp);                //递归
           }
       }
   }
   dir.rmdir(s,true);
}
离线yfy002

只看该作者 2楼 发表于: 2006-07-15
调用rm -rf dir不可以吗?
我渴望平静,风却给了我涟漪
我的blog:
http://sungaoyong.cublog.cn
离线XChinux

只看该作者 3楼 发表于: 2006-07-15
rm -rf dir Windows下不能用.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个