se vuoi leggerlo tutto devi vedere prima quanto è grande, allocare un array abbastanza grande e leggere tutto con fread
però la libreria c non mi pare ti dia un modo per vedere la dimensione del file, quindi dovresti usare altri modi (ad esempio su mac os puoi usare la stat)
detto questo, fai prima mappando il file in memoria (su mac os puoi farlo con
mmap)