Comme le titre l'indique, j'essaie de convertir std::string en unsigned char*. Tous les rubriques que j'ai trouvées ne sont pas clairs. Des solutions simples?
Comme le titre l'indique, j'essaie de convertir std::string en unsigned char*. Tous les rubriques que j'ai trouvées ne sont pas clairs. Des solutions simples?
Il y a la méthode c_str() pour obtenir un char const *, data() aussi.
Au delà il faut passer par un cast, avec toutes les précautions d'usage.
Te faut-il vraiment un unsigned char *, ou un unsigned char const * peut-il convenir?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Quelque chose comme ça ?
Ou plutôt comme ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 namespace { struct converter { unsigned char operator()(char value) { return (unsigned char)value; } }; unsigned char* create_unsigned_char_from_string(const std::string& s) { unsigned char* p = new unsigned char[s.length()]; std::transform(s.begin(), s.end(), p.begin(), converter()); return p; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 std::string the_string("some value"); unsigned char* p = (unsigned char*)(&the_string[0]);
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Partager