Essayez:
int x = 5;
std::cout.write(reinterpret_cast<const char*>(&x),sizeof(x));
Note: Ces données de writting au format binaire est non portable.
Si vous voulez le lire sur un autre ordinateur, vous devez avoir exactement la même architecture ou vous devez normaliser le format et vous assurer que toutes les machines utilisent le format standard.
Si vous voulez écrire binaire la meilleure façon de normaliser le format est de convertir les données au format réseau (il existe un ensemble de fonctions pour cette htonl() < -> ntohl() etc)
int x = 5;
u_long transport = htonl(x);
std::cout.write(reinterpret_cast<const char*>(&transport), sizeof(u_long));
Mais le format le plus transportable est de simplement convertir en texte.
std::cout << x;
Qu'importe? Il a posté ce qu'il essayait de faire jusqu'à présent et pourquoi son code ne fonctionnait pas et a posé une question claire. –
Cela ne fonctionnera probablement pas bien avec 'cout', car vous n'avez aucun contrôle sur la façon dont il est ouvert. Si vous voulez faire une sortie binaire, ouvrez votre propre flux et incluez l'indicateur 'ios_base :: binary' dans votre argument' openmmode'. –