Salve ho una struttura del tipo:
codice:
structperson { char name[256];
unsignedint age;
};
tramite la funzione:
codice:
void person_read(FILE *f, structperson* pp);
La funzione accetta come parametro un puntatore ad un file aperto in lettura in
modalità tradotta (testo) e un puntatore a un dato di tipo struct person. La
funzione deve leggere il contenuto del file caricando i dati della persona nella
struttura puntata da pp.
Il file contenente i dati della persona è così strutturato:
<nome persona><spazio><età>
ho fatto in questo modo:
codice:
void person_read(FILE *f, structperson* pp){ int i = 0;
for (;;){
pp = (struct person*)realloc(pp, (i + 1)*sizeof(struct person));
if (fscanf(f, "%s %lu", pp[i].name, &pp[i].age) == 2){
i++;
}
else{
break;
}
}
}
Non capisco perche non va.
grazie.