Raison pour echec d'un remove
Bonjour,
Je travaille sur un projet qui tourne sous VMS, unix, NT.
Sous Unix, il semble qu'un fichier ne soit pas supprimé, j'aimerai en connaitre la raison.
Voici le code de la fonction de suppression
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| int f_supprimer_fichier(char * const nom_fichier_a_supprimer )
{
int retour;
#ifndef V_UNIX
char nom_fichier[1024];
strcpy(nom_fichier,nom_fichier_a_supprimer);
strcat(nom_fichier,";*");
retour=remove(nom_fichier);
#else
retour=remove(nom_fichier_a_supprimer);
#endif
return retour;
} |
En principe dans le cas posant problème on a V_UNIX positionné.
Pour information sous VMS les fichiers sont versionné, et ont un nom du type Nom_fichier;version. Quand on fait un delete nom_fichier;* on supprime toutes les versions du fichier, d'où la concaténation.
La question principale est peut-on savoir pourquoi le remove n'a pas renvoyé 0, de préférence quelque soit la plateforme.
Merci
Soazig