Un archivo binario puedes crearlo y para leerlo debes saber previamente qué contiene (que formato). Si lo has creado tú mismo, no deberías tener problema
Se abre con fopen(), pero debes añadir una "b" en el modo de apertura. Por ejemplo
fopen ("fichero", "wb");
Se escribe con fwrite() y con fread()
Por ejemplo, tienes un array de datos convenientemente relleno que quieres escribir o leer
int datos[100];
fwrite (datos, sizeof(int), 100, fichero);
fget (datos, sizeof(int), 100, fichero);
Los parametros son el array (zona de memoria) donde tienes o quieres los datos. El tamaño del dato leido o escrito (sizeof(int) en este caso), cuantos datos hay de esos (100 en este caso) y el fichero.
Puedes escribir o leer cualquier array, estructura, dato, etc. Lo unico es que tienes que leerla de la misma forma que la escribas.
Se bueno.