In realtà quelle frase significa che nel file che leggi in binario (specificando quanti byte leggere) devi sapere a priori le dimensioni.
Mentre in un file che leggi non in modalità binaria (in realtà la lettura funziona allo stesso modo,solo che non specifichi i byte) devi mettere un carattere di separazione per far capire fino a dove fermarsi.
Adesso mi pare che non ho capito bene il tuo problema,ma ci sono i permessi per scrivere su un file.
Li puoi trovare qua,a questa domanda:

supponiamo che cambio la stringa "name" da tony in elisabetta
perchè non posso aggiornare il record del file e debbo riscriverlo tutto per intero?
La riposta è che in realtà lo puoi fare,non è vero che non lo puoi fare,ma poi per leggerlo non sai le dimensioni.
Il mio consiglio è di scrivere sul tuo file riga per riga,mettendo la newline come carattere separatore,così poi invece di usare la fread puoi usare la fgets,che è secondo me più comoda.