In linea teorica ok, ma nella pratica è diverso.

Se scrivi sul file usando una funzione che formatta l'output, ad esempio fprintf, scrive in effetti del testo. Ad esempio, per scrivere il numero "1234567", occupa 7 caratteri. Se poi scrivi "25" ne occupa 2, etc.
Se scrivi sul file usando fwrite, vengono scritti i dati in formato binario senza formattarli, perciò un intero, qualsiasi intero, occupa sempre 4 byte, ma è illeggibile in un editor di testo.

Usando fwrite trascrivi sul file il blocco di memoria occupato dalla variabile, bit per bit, e non è detto (anzi, se non sono stringhe è quasi certo) che i byte che formano la variabile siano caratteri leggibili, figurati modificabili (pensa che se scrivi un double sul file, se provi a modificarlo quasi di sicuro lo "rompi" dato che il formato del double è un po' intricato).