Konvertieren von ASCII-string in Dezimal-und Hexadezimal-Darstellungen

Brauche ich zum konvertieren einer ASCII-Zeichenfolge, wie... "hello2" in dezimal-und, oder mit der hexadezimalen Darstellung (ein numerischer form, die spezifische Art, ist irrelevant). So, "Hallo" wäre : 68 65 6c 6c 6f 32 in HEX. Wie mache ich das in C++, ohne nur mit einem riesigen if-Anweisung?

EDIT: Okay, so ist dies die Lösung, die ich ging mit:

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;
}
  • Sie können implictly konvertieren Sie einen beliebigen char zu dessen ascii-Wert durch tun char a = 'B'; int as = a; <- Erträge 66 (ascii-Wert)
  • Ich mag diesen trick. Meine einzige Frage ist jetzt, wie konvertiere ich einen string in dieser Art und Weise? Ich denke, die Frage ist wirklich, wie kann ich das gleichsetzen ein einzelnes element in einen string ("a")?
  • Sie können es in einer for-Schleife Zeichen für Zeichen.
InformationsquelleAutor Dan Snyder | 2010-08-03
Schreibe einen Kommentar