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
En principe dans le cas posant problème on a V_UNIX positionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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
Partager