PDA

View Full Version : [C/C++] Rimuovere una directory


bsummer
28-12-2003, 13:26
Chiedo aiuto ragazzi. Sono 2 giorni che le sto provando tutte ma non riesco a cancella una qualsiasi directory su disco.

Premetto che sto usando il CBuilder5.02.

Ho trovato 2 funzioni che mi permetterebbero di fare quanto mi serve.

La prima è:

RemoveDir(AnsiString dir);

mentre la seconda

rmdir(const char* dir);

Entrambe però non mi funzionano :cry: o meglio, funzionano solo se passo loro una stringa costante, ovvero

rmdir("./pippo/pluto")

Se il nome della directory da cancellare è dentro una variabile (char*) o AnsiString non ne vuole sapere...
Naturalmente ho fatto tutti i controlli del caso:
- la directory è vuota
- il nome del percorso è corretto (ho controllato che non vi siano caratteri "spuri" all'inizio e alla fine della stringa, caratteri non visibili in stampa a video ma che non sono ad esempio il terminatore di stringa)

Non so più dove sbattere la testa maledizione e non capisco cosa (e se) sto sbagliando...avete qualche idea in proposito?

Grazie. :)

cionci
29-12-2003, 01:52
Strano...io rmdir l'ho usato diverse volte ed ha sempre funzionato...
Non potresti postare un piccolo esempio (al di fuori del programma che stai realizzando) in cui la rimozione non funziona ?

bsummer
29-12-2003, 11:16
Sono un idiota :D

Per svuotare la directory uso le istruzioni FindFirst e FindNext per vedere la lista dei file in esse contenute.
Mi sono appena accorto che nn ho usato l'istruzione FindClose() alla fine e quindi le directory non potevano essere cancellate perchè risultavano in uso :D

Grazie lo stesso per l'interessamento :)

cionci
29-12-2003, 12:16
Niente :) Ciao ;)