salve a tutti
sto facendo un programma che deve gestire un campionato di calcio, ma quando cerco di registrare la classifica su file continua a scrivere la stessa riga all'infinito...
questo è il codice.. non capisco cosa ci sia di sbagliato...

int registrasquadre(campionato *&p_head,char* nomefile)
{
int letti;
ofstream fout;
char buffer[200];
char buffer1[200];
char buffer2[200];
char buffer3[200];
campionato *p;

//apertura del file
fout.open(nomefile, ios:ut);
p=p_head;
while(p!=NULL)
{
//formattazione del buffer
strcpy(buffer, p->squadra);
riempistringa(buffer,30,' ' );
strcpy(buffer1, p->allenatore);
riempistringa(buffer1,30,' ');
strcpy(buffer2, p->stadio);
riempistringa(buffer2,30,' ');
sprintf(buffer3, "%5d", p->anno);
//scrittura sul file
fout<<buffer<<buffer1<<buffer2<<buffer3<<endl;
if (fout.fail())
{
cout<<"Errore di scrittura sul file "<<nomefile<<endl;
fout.close();
return 1;
}
p=p->next;
}
fout.close();
return 0;
}