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. ]