In carica_file, queste righe
int dim=0;
int vet[dim];
non hanno senso, prima di tutto perché un vettore di dimensioni zero non ha senso e in secondo luogo perché non servono.
Il contatore ce l'hai ed è size. Devi usare quello per contare.
E dato che stai solo contando, non ti serve alcun vettore ma un semplice intero
int tmp;
da usare solo per leggere il dato.