Salve, studiando i file in C ho avuto un piccolo problema. Per esempio ho un semplice programma che fa la media di n numeri e voglio scrivere i risultati su file. Ho inserito alla fine del programma le seguente istruzioni

FILE *pf = fopen ("REPORT.txt", "a+");
if (pf == NULL)
return 1;

fprintf(pf, "MEDIA: %f\n\n", media);
fprintf(pf, "MAX: %f\n\n", max);
fprintf(pf, "MIN: %f\n\n\n", min);
fclose(pf);
return 0;

Essendo nella main le istruzioni return mi fanno uscire dal programma nonostante ci fosse un ciclo while infinito. I risultati però vengono scritti sul file come sperato. Visto che io avevo in mente un'applicazione che si ripete infinite volte e ad ogni ciclo aggiunge risultati al file ho pensato ad una funzione che ogni volta chiamata mi potesse aggiungere al file REPORT.txt i nuovi risultati usando l'accesso "a+" cioè scrivendo in append e creando il file se non ci fosse.

int stampa_su_file(float media, float max, float min)
{
FILE *pf = fopen ("REPORT.txt", "a+");
if (pf == NULL)
return 1;

fprintf(pf, "MEDIA: %f\n\n", media);
fprintf(pf, "MAX: %f\n\n", max);
fprintf(pf, "MIN: %f\n\n\n", min);
fclose(pf);
return 0;
}

Passando media, max e min alla funzione ad ogni ciclo me le dovrebbe scrivere su file ma il file non viene creato. Il programma questa volta continua infinite volte ma il file non viene creato. Come faccio ad avere un file nel quale vengono aggiunti risultati ad ogni ciclo per infinite volte?