scusa ma non è che puoi postare quello che ti viene a video? sinceramente non ha capito cosa vuoi dire con "mi carica sempre tutto male"...si perde dei campi o ci sono caratteri spuri nei campi ? Siccome mi sono accorto che mi mancava un ungetc prova con questo:
codice:int carica(FILE *f,automobile el[]) { int i,k; char tmp_c; for(i=0;!feof(f);i++){ do { tmp_c = fgetc(f); if( feof(f) ) return i; } while( (tmp_c == '!') || (tmp_c == '\r') || (tmp_c == '\n') ); ungetc(tmp_c, f); for(k=0;(el[i].marca[k]=fgetc(f))!='!';k++); el[i].marca[k]='\0'; for(k=0;((el[i].modello[k]=fgetc(f))!='!')&&!feof(f);k++); el[i].modello[k]='\0'; fscanf(f,"%f!",&(el[i].prezzo)); } return i; }

Rispondi quotando