/*递归删除文件夹,即使里面有内容
**
**dir :文件夹的名字,绝对路径和相对路径均可
**
**返回值 :成功后返回true;否则返回false
*/
bool removeDirWithContent(const QString &dirName){
static QVector<QString> dirNames;
static QString funcErrMsg="删除[%1]失败.";
static QString funcInfFndMsg="发现[%1].";
static QString funcInfDelMsg="删除[%1]成功.";
QDir dir;
QFileInfoList filst;
QFileInfoList::iterator curFi;
//初始化
dirNames.clear();
if(dir.exists()){
dirNames<<dirName;
}
else{
return true;
}
//遍历各级文件夹,并将这些文件夹中的文件删除
for(int i=0;i<dirNames.size();++i){
dir.setPath(dirNames[i]);
filst=dir.entryInfoList(QDir::Dirs|QDir::Files
|QDir::Readable|QDir::Writable
|QDir::Hidden|QDir::NoDotAndDotDot
,QDir::Name);
if(filst.size()>0){
curFi=filst.begin();
while(curFi!=filst.end()){
//遇到文件夹,则添加至文件夹列表dirs尾部
if(curFi->isDir()){
dirNames.push_back(curFi->filePath()
分享一个Qt中删除文件夹的函数(非递归实现)
最新推荐文章于 2023-04-07 15:24:50 发布