Bonjour,
En fait mon répertoire 'temp' contient des fichiers et un dossier 'snortrules' qui a son tour contient d'autres fichiers.
Je désire supprimer tout le contenu du répertoire 'temp' lorsque j'arrête mon application mais je n'arrive qu'à supprimer les fichiers.
Et le dossier 'snortrules' est toujours présent.
Ci-dessous la méthode DeleteTempFiles(QString name) responsable de la suppression du contenu du répertoire 'temp'.
Je ne vois où le problème.
Y'a t-il une autre méthode telle que supprimer le répertoire 'temp'?
Merci;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 bool ManagementConsoleDAL::DeleteTempFiles(QString name) { QDir appDir = QDir(qApp->applicationDirPath()); #if defined(Q_OS_WIN) if (appDir.dirName().toLower() == "debug" || appDir.dirName().toLower() == "release") appDir.cdUp(); #elif defined(Q_OS_MAC) if (appDir.dirName() == "MacOS") { appDir.cdUp(); appDir.cdUp(); appDir.cdUp(); } #endif appDir.cd("temp"); QFileInfoList list; list = appDir.entryInfoList(QDir::Files | QDir::Hidden); foreach( QFileInfo elem, list ) if( ! appDir.remove( elem.absoluteFilePath()) ) return( false ); list = appDir.entryInfoList(QDir::AllDirs | QDir::Hidden | QDir::NoDotAndDotDot); foreach( QFileInfo elem, list ) if( ! DeleteTempFiles( elem.absoluteFilePath() ) ) return( false ); return (appDir.rmdir(appDir.absolutePath())); }
Partager