Convertir la chaîne de caractères ASCII en Décimal et Hexadécimal Représentations

J'ai besoin de convertir une chaîne de caractères ASCII comme... "hello2" en décimal et en hexadécimal de la représentation (une forme numérique, le type n'est pas pertinent). Ainsi, "bonjour" serait : 68 65 6c 6c 6f 32 dans l'HEX. Comment puis-je le faire en C++ sans l'aide d'un géant de l'instruction if?

EDIT: Ok, donc, c'est la solution, je suis allé avec:

int main()
{
    string c = "B";
    char *cs = new char[c.size() + 1];
    std::strcpy ( cs, c.c_str() );
    cout << cs << endl;

    char a = *cs;
    int as = a;
    cout << as << endl;
    return 0;
}
  • vous pouvez implictly convertir n'importe quel char à sa valeur ascii en faisant char a = 'B'; int as = a; <- rendements 66 (la valeur ascii)
  • J'aime ce truc. Ma seule question est maintenant de savoir, comment puis-je convertir une chaîne de cette façon? Je suppose que la question est vraiment, comment puis-je assimiler d'un seul élément d'une chaîne de "a"?
  • Vous pouvez le faire dans une boucle for, caractère par caractère.
InformationsquelleAutor Dan Snyder | 2010-08-03