PDA

View Full Version : [C]come rimuovere cartelle da programma...


santaclause83
17-09-2007, 16:00
non riesco a rimuovere delle directory dal programma c che sto scrivendo...
devo rimuovere delle pipe,inizializzate in questo modo:

if ((mkfifo(dir_letture,0777) == -1) && errno!= EEXIST) {printf("mkfifo_serverclientPID error \n");exit(errno);}
if (chmod(dir_letture,0777) == -1) {printf("chmod_serverclientPID error
\n");exit(errno);}

provo con il comando rmdir(PATHNAME),ma mi dà sempre risultato negativo e non riesce a rimuoverla

uso la funzione sbagliata o è un problema di diritti di accesso?

grazie!

cionci
18-09-2007, 09:00
O mi sono perso qualcosa...oppure le fifo sono file e non directory...
In ogni caso prima di rimuoverle devi devono essere chiuse da tutti gli utilizzatori.

trallallero
18-09-2007, 13:23
aggiungi queste istruzioni


#include <errno.h>
...
extern int errno;

// dopo l´istruzione che da errore
printf("err: <%i>\n", errno);

e cotrolli l´errore facendo man errno

71104
18-09-2007, 13:32
In ogni caso prima di rimuoverle devi devono essere chiuse da tutti gli utilizzatori. non su quella schifiezz' di Linux :asd:
e non necessariamente su Windows: un file o cartella può essere aperto/a con FILE_SHARE_DELETE.

trallallero
18-09-2007, 13:35
non su quella schifiezz' di Linux :asd:
e non necessariamente su Windows: un file o cartella può essere aperto/a con FILE_SHARE_DELETE.

peccato che poi devi riavviare Windows ma intanto sei riuscito a rimuovere la cartella :asd: