ciao a tutti, ho un piccolo problema riguardante la scrittura su un file in modalità testo.
vi metto parte del codice del programma intero:
codice:
.....
if ((cfPtr = fopen("archivo.dat", "w")) == NULL ) {
printf("Il file non può essere aperto.\n");
} else {
i = 0;
printf("Inserisci i dati dell'esame\n");
printf("EOF per terminare\n");
while (!feof(stdin)) {
printf("Insersci denominazione esame, votazione e data\n");
scanf("%s %d %d %d %d", archi[i].denomi, &archi[i].voto, &archi[i].da.gg, &archi[i].da.mm, &archi[i].da.aa);
fprintf(cfPtr, "%15s%10d%10d%2d%2d\n", archi[i].denomi, archi[i].voto, archi[i].da.gg, archi[i].da.mm, archi[i].da.aa);
i++;
}
fclose(cfPtr);
}
}
....
come si vede apro un flusso di comunicazione con fopen e stampo i file letti dalla struct effettuando il conteggio tramite una veriabile contator (i). il problema è proprio qui..cioè nel file stampato dopo aver digitato Eof mi appare una riga con dati nulli. come posso evitare questo ???