void scritturafile(int i)
{
FILE *ptrsalv;
ptrsalv = fopen("Nicolaus.txt","a");
if(ptrsalv)
{
printf("\nIl file e' aperto correttamente, la scrittura e' avvenuta correttamente! \n");
fprintf(ptrsalv,"%s %d %d %d %d %d\n", array_voli[i].nomeCompagnia, array_voli[i].oraPartenza, array_voli[i].gate, array_voli[i].numeroPasseggeri, array_voli[i].OreVoloFatte, array_voli[i].Carburante);
}
}
Questa è una funzione che deve scrivere su un file già creato, solo che se apro il file con modalità "w" essendo che lui entra nella funzione più volte, le volte che scriverà sul file successive alla prima andrà ad eliminare quelle già presenti per sovrascrivere quelle attuali;
Mentre se apro il file in modalità "a" essendo che il file viene scritto correttamente la prima volta, le volte successive alla prima andrà a scrivere in coda gli elementi e quindi a scriverli ogni volta che io chiamo la funzione, ma così mi ritrovo infinite volte la stessa stringa.
PS. La i che passo alla funzione è quella che dirà quale elemento della struct deve scrivere su file.
Qualcuno può chiarirmi il mio errore?