Salut
Je fais un puzzle facile ("chuck norris" ) sur codingame. C'est mon 4ème, j'en ai "réussi" 3.
Je ne sais pas comment faire pour récupérer en string le binaire (caractère par caractère) des caractères d'un string que je dois étudier puis transformer par la suite
Le string qu'ils envoient c'est du ASCII en 7 bits
Je cherche je cherche... j'en suis là :
Code :
- #include <iostream>
- #include <string>
- #include <vector>
- #include <algorithm>
- #include <sstream>
- #include <bitset>
- //#include <cmath>
- using namespace std;
- int main()
- {
- string chaine="abcd";
- int valeur(0);
- string binStr;
-
- for (int i=0; i<chaine.size(); i++) {
- valeur = chaine[i]; // je récupère la valeur décimale d'un caractère
- cout << valeur << endl;
- binStr = bitset<7>(valeur); // là j'ai une erreur : no match for operator = . J'ai essayé avec un int au lieu d'un string, pas mieux.
- cout << "bitset" << bitset<7>(valeur) << endl; // ça fonctionne bien
- cout << "binStr" << binStr << endl << endl;
- }
- }
|
Ça m'affiche bien en binaire dans ma console mais j'arrive pas à le récupérer en string, même avec to_string (ils en parlent pourtant chez cppreference.com sur la page de bitset)
Code :
- to_string (bitset<7>(valeur));
|
Ça ne fonctionne pas non plus
Bon j'ai plein d'#include, je les laisse un peu quand je bidouille d'un truc à un autre.
Merci pour votre aide !
Edit : je viens de trouver apparemment :
Code :
- bitset<7>binStr(valeur);
|
Il a fallu que je fasse ça aussi, après avoir déclaré bibin comme string
Code :
- bibin = binStr.to_string();
|
Message édité par Lt Ripley le 08-11-2016 à 16:37:35