#include <QDir>using namespace std;int main(int argc, char *argv[]){ QString path="C:/Users/Lagovas/Desktop/545_naruto-silver.ucoz.kz/546 naruto-silver.ucoz.kz/546 naruto-silver.ucoz.kz"; QDir(path).rmpath(path) ? cout<<"success" : cout<<"error"; getwchar();}
void NarutoMove::removeSource(QString path){ QMessageBox::about(this,"Try remove","remove");//for debug QFileInfo fi(path); if(fi.isFile())//если файл, удаляем и выходим { logTextEdit->append("remove "+path); QFile::remove(path); return; } QStringList sl = QDir(path).entryList(); logTextEdit->append(sl.join("\n"));//for debug foreach(QString name,sl) { if(name==".." || name==".")//знаю, знаю. потом допишу NoDotAndDotDot { continue; } //если папка, то запускаем метод для нее if(QFileInfo(path+"/"+name).isDir())//методом експериментов, лучше вручную писать path+'/'+name чем QFileInfo, в каком то случае плохо работало { logTextEdit->append("Go to "+path+"/"+name); removeSource(path+"/"+name); continue; } if(QFileInfo(path+"/"+name).isFile())//если файл, удаляем { logTextEdit->append("remove "+path+"/"+name); QFile::remove(path+"/"+name); continue; } } logTextEdit->append("Try remove dir "+path); //под конец удаляем папку. обычно удаляю rmdir, но тут решил попробовать 2 сразу, нифига QDir(path).rmdir(path) ? logTextEdit->append("Dir removed") : logTextEdit->append("Cant remove dir"); QDir(path).rmpath(path) ? logTextEdit->append("Dir removed") : logTextEdit->append("Cant remove dir");}