Salve a tutti!!

Premetto che ho cominciato a studiare informatica da poco più di un anno e che quindi non ho una grande esperienza.
Da poco nel mio corso abbiamo cominciato a studiare i file sia nel C e sia nel C++, a dirla tutta stiamo ancora agli inizi ma per esigenze lavorativi avrei bisogno di farmi un programma che da un file di testo riesca ad alimentare uno struct.

Mi spiego meglio, ho un file txt pieno di righe come questa:

20120102;000001;00001;4;2805

Ho quindi creato uno struct a seconda del tipo di informazione:
codice:
struct kk
{
   char data[8];
   int reg;
   int cont;
   int tipo;
   char conto[10];
};
Ora però non so come far capire al programma che dopo ogni punto e virgola deve mettere il valore nel variabile successiva, ho provato a fare una roba simile ma non funziona:
while(fscanf(fp,"%s,%d,%,d,%d,%s ;",pop.data,pop.reg,pop.cont,pop.tipo,pop.conto)!= EOF)

Il codice intero è ancora un cantiere, in realtà per ora sto solo facendo delle prove e diciamo che questo è l'ultimo ostacolo che mi è rimasto, ovviamente se riuscite a darmi anche una spiegazione in modo da farmi capire come si affronta un caso simile mi farete molto contento!!

Grazie a tutti in anticipo.