Problème avec fwrite sous windows
Bonjour,
Je travaille avec un fichier binaire sous windows, au moment d'écrire dans le fichier aucun soucis ça se passe très bien, mais j'ai des choses en plus dans le fichier qui se rajoute a la fin.
En faite j'ai l'impression que ce sont des bout de PATH :(
Voici le code d'écriture:
Code:
1 2 3 4 5 6 7 8 9 10 11
| void Sauvegarde(void) {
FILE *fd = fopen("carnet.bin", "ab");
if(fd) {
int i = 0;
for(i = 0; i < nbpers; i++) {
if(fwrite(carnet[i], sizeof(fiche), 1, fd))
printf("Bien sauvegardé\n");
}
fclose(fd);
}
} |
carnet est un tableau de pointeur sur une structure et nbpers est le nombre d'éléments dans le tableau.
Code:
1 2 3 4 5 6 7 8
| typedef struct {
char nom[50];
char prenom[50];
char tel[16];
unsigned char age;
} fiche;
fiche *carnet[50]; |
je met la fonction de recuperation aussi:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| void Restaurer(void) {
FILE *fd = fopen("carnet.bin", "rb");
if(fd) {
nbpers = 0;
while(!feof(fd)) {
carnet[nbpers] = malloc(sizeof(fiche));
fread(carnet[nbpers], sizeof(fiche), 1, fd);
nbpers++;
}
fclose(fd);
}
} |
Si quelqu'un sait d'où ça peut venir.
Merci ;)