Probar:
int x = 5;
std::cout.write(reinterpret_cast<const char*>(&x),sizeof(x));
Nota: Que los datos de la escritura en formato binario es no portátil.
Si desea leerlo en una máquina alternativa, necesita tener exactamente la misma arquitectura o necesita estandarizar el formato y asegurarse de que todas las máquinas usen el formato estándar.
Si desea escribir binario de la manera más fácil de estandarizar el formato es convertir los datos al formato de red (hay un conjunto de funciones para que htonl() < -> ntohl(), etc)
int x = 5;
u_long transport = htonl(x);
std::cout.write(reinterpret_cast<const char*>(&transport), sizeof(u_long));
Pero el formato más transportable es simplemente convertir a texto.
std::cout << x;
¿Qué importa? Publicó lo que intentaba hacer hasta ahora y por qué su código no funcionaba y formuló una pregunta clara. –
No es probable que funcione bien con 'cout', porque no tienes control sobre cómo se abre. Si quieres hacer una salida binaria, abre tu propia transmisión e incluye el indicador 'ios_base :: binary' en tu argumento' openmmode'. –