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.