View Full Version : [C++] Eliminare cartella e tutto il suo contenuto
Sbrocca88
15-01-2011, 11:26
Ciao a tutti.
Esiste un comando per eliminare una cartella e tutto il suo contenuto?!
Ho trovato sul web l'api removedirectory ma non fa al caso mio in quanto elimina solo le cartelle vuote.
Sono sotto windows.
Perņ mi servirebbe un comando che possa andare bene anche su linux.
Qualche aiuto?!
Un ringraziamento a tutti
A quanto sembra sia su Linux sia su Windows serve che la cartella sia prima vuota.
Un modo semplice per risolvere č iterare nella cartella e rimuovere tutti i files e tutte le sottocartelle.
Del tipo, in pseudocodice
void removeDir( char* path )
{
while( ci sono dei files )
rimuovi( prossimo file );
while( ci sono delle cartelle )
removeDir( path della sottocartella ); //chiamata ricorsiva
rimuovi( path );
}
Oppure potresti usare qualche libreria che astrae la faccenda, ma per cancellare una directory mi sembra eccessivo :D
Ciao a tutti.
Esiste un comando per eliminare una cartella e tutto il suo contenuto?!
Ho trovato sul web l'api removedirectory ma non fa al caso mio in quanto elimina solo le cartelle vuote.
Sono sotto windows.
Perņ mi servirebbe un comando che possa andare bene anche su linux.
Qualche aiuto?!
Un ringraziamento a tutti
se deve essere cross-platform prova con boost::filesystem:
http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v3/doc/reference.html#remove_all
Sbrocca88
15-01-2011, 18:20
Mi sembra un buon metodo quello scritto da tommo in pseudo codice...
Ma come faccio a far continuare il ciclo while fin tanto che sono presenti dei file?!
Che condizione devo mettere?!
Magari ci metto una variabile contatore e la faccio incrementare fino al numero di file presenti...
Per eliminare i file e le cartelle in maniera sequenziale uso il comando find next?!
Grazie mille...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.