Se ti interessa un metodo piu' pulito e performante di fseek()+ftell(), ma un po' meno portabile (stanndard POSIX) per leggere la dimensione del file puoi usare la stat():
codice:
struct stat fileattr;
stat ( "tuo file", & fileattr );
/* Il file "tuo file" e' grosso `fileattr.st_size` bytes */




PS: Dimenticavo... Devi includere questi headers: "sys/types.h", "sys/stat.h" e "unistd.h".