web-dev-qa-db-fra.com

convertir un caractère non signé * en chaîne

Je suis peu pauvre en casting de type. J'ai une chaîne dans xmlChar* (qui est un caractère non signé *), je souhaite convertir ce caractère non signé en std::string type.

xmlChar* name = "Some data";

J'ai fait de mon mieux pour taper cast, mais je n'ai pas réussi à le convertir.

25
Cyril
std::string sName(reinterpret_cast<char*>(name));

reinterpret_cast<char*>(name) convertit de unsigned char* en char* de manière non sûre mais c'est celle qui devrait être utilisée ici. Ensuite, vous appelez le constructeur ordinaire de std::string.

Vous pouvez également le faire en style C (non recommandé):

std::string sName((char*) name);
47
sasha.sochka