[C/C++] utilisation de remove()

Résolu
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
 Hich -
Bien le bonjour,

Ben voilà en fait j'ai un petit problème à utiliser la fonction
remove(const char *path)


il me faudrait supprimer des comptes utilisateurs dans un programme mais ça ne fonctionne pas et cette fonction me renvoit -1
D'autant plus que lorsque je supprime des fichiers temporaires propres au programme ça fonctionne nickel!

J'ai bien cherché sur le net, mais tout ce que je trouve c'est que -1 correspond à une erreur de permission sur le fichier.....
..??!??..
dans la mesure où c'est le programme qui crée ces fichiers je ne comprends pas...
Si vous pouviez m'éclairer s'il vous plait...

Voici le code (simplifié) au cas où:

char dirProvider[50] = "";
char provider[25] = "myProvider";

sprintf (dirProvider, "DATA/providers/%s.conf", provider);
printf("%ld", remove (dirProvider));


En vous remerciant d'avoir lu jusque là! ;)
A voir également:

10 réponses

kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
En fait on peut se dire que soit le chemin n'est pas bon, soit il est encore ouvert par un programme quelconque (par exemple ton appli).
2
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Alléluiah!!!!!

Sans vouloir te jeter des fleurs je crois que tu es un génie!
Effectivement j'avais tout simplement oublié de refermer ce fichier au début du prog lors de la création de la liste!

Bon sang tu m'as retiré une fière chandelle du pied!

Merci encore très cher kilian!
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
:-)
-1
toto
 
O_o retiré un épine plutôt non ?!
0
Hich
 
lool
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Salut,

C'est sous Windows où sous Linux?
-1
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
heu... ben là c'est sous windows mais je suis sensé faire un prog portable... ça pose problème?

(merci de ta réponse aussi rapide en tout cas!)
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
On m'appele flash parfois!

Si tu fais un clic droit sur tes fichiers nouvellement créés par ton appli, quels sont leurs propriétés?
Lecture seule? Cachés?
-1
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
alors il y a "archive" de coché, mais pas "lecture seule"...
et il n'est pas caché non plus!
-1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Tu peux le décocher? Puis rééssayer avec ton appli....?
-1
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
ça ne change rien...
Mais en même temps mes fichiers temporaires ont archivé de coché eux aussi, mais ils se suppriment...

En fait la seule vraie différence c'est que pour mes fichiers temporaires j'écris directement le chemin, du genre:
remove("DATA/temp.list");

Alors j'ai essayé avec une variable mais rien ne change: les fichiers temporaires n'ont aucun problème...

D'où ça pourrait venir à ton avis?
-1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Et quand tu mets le chemin en dur pour un de ces fichiers récalcitrants ça fonctionne?
-1
gachneux Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
oui oui ça fonctionne...

en fait quand j'essaye avec une variable pour les fichiers temporaires c'est du style:
sprintf(dirTemp, "DATA/temp.list");


Tu crois que c'est dû au formatage?
sprintf(dirProvider,  "DATA/providers/%s.conf", provider);
-1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Fait un printf sur dirProvider après cette ligne, et vois ce que ça donne...
-1