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:
La riposta è che in realtà lo puoi fare,non è vero che non lo puoi fare,ma poi per leggerlo non sai le dimensioni.
supponiamo che cambio la stringa "name" da tony in elisabetta
perchè non posso aggiornare il record del file e debbo riscriverlo tutto per intero?
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.