Prova questo!
#include <stdio.h>
#include <stdlib.h>
struct elemento {
long matricola;
int materie;
};
int main () {
FILE *pf;
int i;
struct elemento el;
pf=fopen("numeri.dat","wb");
if (pf!=NULL) {
for (i=0; i<4; i++) {
printf("inserisci la matricola: ");
scanf("%ld", &(el.matricola));
printf("inserisci il numero di esami: ");
scanf("%d", &el.materie);
fwrite(&el, sizeof( struct elemento), 1, pf);
}
fclose (pf);
} else
exit(1);
pf = fopen("numeri.dat","rb");
if (pf!=NULL) {
for (i=0; i<4; i++) {
fread(&el, sizeof(struct elemento), 1, pf);
printf("matricola: %ld\t materie: %d\n", el.matricola, el.materie);
}
fclose(pf);
} else
exit(1);
return 0;
}