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 : 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;
}
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