Zucchino, con quella soluzione purtroppo cicla infinitamente il primo record del file.
torn, ringrazio anche te ma mi interesserebbe riuscire a capire come fare il tutto in un colpo solo, così penso che sarei potuto riuscirci.
EDIT: Ho fatto un po' di prove, questi i risultati (il mistero si infittisce)
codice:
//Così come proposto da Zucchino non funziona
fscanf(fp,"%d;%[^;];%[^;]",&intero,str1,str2);
//Così però funziona (mettendo un ; anche dopo l'ultimo elemento del record)
fscanf(fp,"%d;%[^;];%[^;];",&intero,str1,str2);
//Con un intero finale e; annesso non funziona né così
fscanf(fp,"%d;%[^;];%[^;];%d;",&intero,str1,str2,&intero2);
//né così
fscanf(fp,"%d;%[^;];%[^;];%d",&intero,str1,str2,&intero2);