Comment convertir une chaîne hexadécimale d'un unsigned long? J'ai hexadécimal suivant la valeur CString str; str = T("FFF000"); Comment faire pour convertir en un unsigned long? OriginalL'auteur Chris_vr | 2011-05-09 c++data-conversionhexmfcunsigned-long-long-int 9 #include <sstream> #include <iostream> int main() { std::string s("0xFFF000"); unsigned long value; std::istringstream iss(s); iss >> std::hex >> value; std::cout << value << std::endl; return 0; } Ne pourrait-il pas être std::setbase(16) ou std::hex? Oui, je ne sais pas pourquoi std::setbase(0) fonctionne OriginalL'auteur hidayat 11 Vous pouvez utiliser strtol fonction qui fonctionne régulier sur les chaînes C. Il convertit une chaîne en long en utilisant une base spécifiée: long l = strtol(str, NULL, 16); détails et le bon exemple: http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/ Vous devez ajouter une gestion d'erreur, cependant. OriginalL'auteur Adam Vous devez vous connecter pour publier un commentaire.
std::setbase(16)
oustd::hex
?Oui, je ne sais pas pourquoi std::setbase(0) fonctionne
OriginalL'auteur hidayat
Vous pouvez utiliser
strtol
fonction qui fonctionne régulier sur les chaînes C. Il convertit une chaîne en long en utilisant une base spécifiée:détails et le bon exemple:
http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
OriginalL'auteur Adam