convertir unsigned char* String
Je suis un peu pauvre dans la conversion de type. J'ai une chaîne de caractères dans xmlChar*
(qui est unsigned char*), je souhaite convertir ce unsigned char à une std::string
type.
xmlChar* name = "Some data";
J'ai essayé de mon mieux pour le type de fonte , mais je ne pouvais pas un moyen de le convertir.
String or
std::string? What is
Chaîne, if you don't mean
std::string`?- Désolé @Tapis de Petersson, BTW ses std::string
- Utilisation reinterpret_cast Voir [stackoverflow.com/questions/658913/... [1]: stackoverflow.com/questions/658913/...
- double possible de const unsigned char * à std::string
- Je peux voir les raisons pour lesquelles on peut vouloir déclarer
xmlChar
comme ununsigned char
. Malheureusement, il ne fonctionne pas bien avec tout de la bibliothèque standard:strlen()
etstd::string
les deux nécessitentchar
. Donc, si vous avez une quelconque influence à tous, cela change. (Et XML à l'aide dechar
est toujours moins douloureux que Latin-1 à l'aide d'un signéchar
.)
Vous devez vous connecter pour publier un commentaire.
reinterpret_cast<char*>(name)
jette deunsigned char*
àchar*
d'une façon dangereuse, mais c'est celui qui devrait être utilisé ici. Ensuite, vous appeler ordinaire constructeur destd::string
.Vous pouvez aussi le faire en C (pas recommandé):