Alla fine puoi scrivere qualsiasi tipo di dato,purchè dopo tu sappia come leggerli.
Un metodo è quello di utilizzare un carattere di riconoscimento per separare tutti gli elementi.
Altrimenti devi sapere la dimensione.
Comunque è quello che fai tutte le volte che usi funzioni come scanf o printf,in fondo queste funzioni leggono finchè non trovano il carattere newline,che inserisci premendo invio.
Alla fine almeno per scelta personale io non mi preoccuperei tanto di come scrivere i dati sul file,tanto in qualsiasi tipo di dato,che sia un float o un carattere non inconterai mai difficoltà se ha cifre variabili,basta che sai quando smettere di leggere,cioè quando incontri il carattere separatore.
Le funzioni come fwrite e fread le uso solo per leggere una gran quantità di elementi più velocemente,per il resto ho la funzione apposita per leggere da file e allocare dinamicamente l' array.