Probleme beim Konvertieren von String/char-Array/Hex



  • Hi Community!

    Ich möchte gerne in einem String den hexadezimalen Wert eines Buchstaben, der sich in einem String befindet, haben.

    Für alle, denen das zu hoch war:

    string text;
    text = "hä?"
    
    string hex;
    

    Ich möchte in

    hex
    

    den hexadezimalen Wert vom 2. Buchstaben in

    text
    

    haben.

    Ich habe das so versucht:

    string text;
    int i;
    char chex[3];
    
    i = text.at(pos_e); //pos_e: Position des Buchstabens
    sprintf(chex, "%x", i);
    hex = "=" + *chex;
    

    Wenn der Buchstabe ein 8-Bit-Zeichen ist, bekommen ich in i neg. Zahlen (ü = -4). Ist char etwa nur 7-Bit?

    Auch in hex steht nicht das drin, was drin stehen sollte.

    Hat einer 'ne Lösung für mich?

    CU
    Konstantin

    [ Dieser Beitrag wurde am 28.05.2003 um 21:28 Uhr von Konstantin editiert. ]



  • Hat keiner 'ne Ahnung oder werde ich ignoriert, weil ich was falsch gemacht habe???

    CU
    Konstantin



  • hast du es schon mit unsigned char probiert?



  • Hallo,
    sowas?

    #include <sstream>
    #include <string>
    #include <iostream>
    using namespace std;
    string toHex(unsigned char c)
    {
        stringstream s;
        s << showbase <<  hex << (int)c;
        return s.str();
    }
    int main()
    {
        string s("Fred");
        string hexStr(toHex(s[1]));
        cout << hexStr << endl;
    }
    

    [ Dieser Beitrag wurde am 29.05.2003 um 19:56 Uhr von HumeSikkins editiert. ]


Anmelden zum Antworten