Salve a tutti, non capisco perchè cercando di salvare su un file (sia con fwrite sia con fprintf) mi salva sembre un record in piu alla fine (l'ultimo viene ripetuto due volte).
L'unico accorgimento che sono riuscito ad adottare e quello che presento qui sotto. ("" equivale a un campo vuoto)..
Capita anche a voi?


struct elemento {

int telefono;
char nome[20];
struct elemento *destra;
struct elemento *sinistra;
};

typedef struct elemento ele;

if(inizio)
{
fp=fopen("agenda.txt","w");
ric=inizio;
do{
contatore--;
temp.telefono=ric->telefono;
strcpy(temp.nome,ric->nome);
printf("\nnome %s tel %d\n",temp.nome, temp.telefono);
if((f=strcmp(temp.nome,""))) n=fwrite(&temp,sizeof(ele),1,fp);
ric=ric->destra;
}while(ric);

temp.telefono=0;
strcpy(temp.nome,"");
n=fwrite(&temp,sizeof(ele),1,fp);

fclose(fp);


fclose(fp);