Se ve que quieres !
Sigue asi... lo de los datos binarios hace tiempo probe con un algoritmo sencillo con un puntero void con un tamaño arbitrario la cuestion la hacia con malloc y memcpy leia por decir 8 bytes del fichero y le concatenaba 1 byte basura

al final el fichero quedaba algo inflado e ilegible me parece buen concepto para iniciar .....
Saludos .....
Otra cosa acostumbrate a no usar scanf y printf estas funciones estan baneadas por microsoft si declaraste iostream puedes utilizar cin y cout