Salut à tous.
J'aimerais afficher un fichier en binaire (donc sortir sa version binaire en des 0/1).
Merci d'avance pour vos aides.
Version imprimable
Salut à tous.
J'aimerais afficher un fichier en binaire (donc sortir sa version binaire en des 0/1).
Merci d'avance pour vos aides.
1/ ça ne va pas vraiment t'aider, parce que la sortie ne sera pas vraiment lisible. Généralement, on affiche en caractères hexadécimal.
2/ si vraiment tu souhaite le faire, alors
Pour plus d'infos sur std::bitset<> : http://www.cplusplus.com/reference/bitset/bitset/Code:
1
2
3
4
5
6
7
8
9
10 std::vector<unsigned char> bytes; // le contenu du fichier for (std::size_t i = 0; i < bytes.size(); ++i) { std::bitset<8> bs(bytes[i]); std::cout << bs.to_string(); if ((i & 0x7) == 0) // tous les 8 caractères std::cout << std::endl; else std::cout << " "; }
Simple curiosité.
Si on récupère les caractères dans des unsigned char et que l'on affiche avec int stoi(const string & str, size_t * idx = 0, int base = 10); (avec une base de 2) de C++11, obtient-on le résultat voulu ?
sinon, il y a std::hex
Il suffit alors de boucler sur les chars.