Problem au niveau des fichiers

Fermé
asstel Messages postés 51 Date d'inscription vendredi 21 mars 2014 Statut Membre Dernière intervention 14 décembre 2014 - Modifié par asstel le 23/03/2014 à 13:17
j'ai realiser ce petit program afin de comprendre comment lire une sequence d'information (enregistrement)
une fois j'execute la 1ière partie puis la 2
ce que m'étonne que le dernier enregistrement se repète 2 fois
enplus j'arrive pas à tester si le fichier est vide pour afficher qu'il est vide
aider moi svp

voici le code:
#include <stdio.h>
#include <stdlib.h>

typedef struct xy xy;
struct xy
{
int x;
int y;

};


int main()
{
int i;
xy xy;
FILE* f=NULL;
f=fopen("test.bin","a+");
//pour remplir le fichier

do{
scanf("%d",&xy.x);
scanf("%d",&xy.y);
fwrite(&xy,sizeof(xy),1,f);
puts("continuer !");
scanf("%d",&i);
}while(i==1);

//pour lire le fichier
/*
rewind(f);
while(!feof(f)){
fread(&xy,sizeof(xy),1,f);
printf("%d\t",xy.x);
printf("%d\n",xy.y);
}
*/
fclose(f);
return 0;
}