Hex Ausgabe im Terminal
-
Moin,
ich habe eine char Array erzeugt und mit memset mit 0 aufgefüllt. Dieses möchte ich nun mit cout in Hex Format ausgeben. Leider funktioniert das so nicht.static const size_t sSIZE = 40;
typedef char Buf[sSize];
Buf message;
memset(message, 0, sSIZE);
message [0] = 0x11;
message [1] = 0x13;
message [2] = 0x01;
message [3] = 0x1e;std::cout << std::hex << message << std::endl;
-
"Funktioniert nicht" ist keine Fehlerbeschreibung.
-
Es ist ja auch kein Fehler. Die Hex zahlen werden nur nicht ausgegeben. Das ist alles. Ich möchte gerne meine Messsage mit Hexwerten füllen und ausgeben. Und das scheint nicht zu klappen
-
marci_du_mont schrieb:
Es ist ja auch kein Fehler.
Aha
marci_du_mont schrieb:
Die Hex zahlen werden nur nicht ausgegeben. Das ist alles.
Wenn das kein Fehler ist, warum stellst du dann eine Frage?
-
Hallo,
char wird als Zeichen ausgegeben, nicht als Zahlwert:
char c = 65; int i = 65; cout << c << " " << i; // output: A 65
Und deine Zeichen sind halt irgendwas.
-
Nun stellt euch doch nicht so doof, ist wirklich nicht klar, was der TE möchte?
Was hier schief geht: Der hex-Modifikator bezieht sich auf die Ausgabe von Zahlen. Es wird aber eine Zeichenkette ausgegeben, dabei ist herzlich egal in welchem Modus der Zahlenausgeber derzeit steht.
Abhilfe: Wenn man einzeln Zahlen in einem bestimmten Zahlensystem ausgeben möchte, dann muss man einzeln Zahlen ausgeben. Also beispielsweise in einer Schleife:
for(auto it = message; *it != 0; ++it) std::cout << std::hex << (int)*it; }
Du solltest übrigens dringend mal überdenken, was du da wie lernst. Das was du hier machst ist typisches C für Anfänger (Aber auch eher schlechtes C), bis auf den kleinen Schönheitsfehler, dass es C++-Methoden zur Ausgabe benutzt. Sieht nach einem verdammt schlechten Lehrer aus.
-
????
Schön, dass du es nochmal wiederholst, dass es ein Zeichenkette/Zahlen-Problem gibt.
-
Jockelx schrieb:
????
Schön, dass du es nochmal wiederholst, dass es ein Zeichenkette/Zahlen-Problem gibt.Es hat nun einmal länger als 8 Minuten gedauert, den Beitrag zu schreiben.
-
Ok, wusste nicht, dass du manni im plural ansprichst.
-
Jockelx schrieb:
Ok, wusste nicht, dass du manni im plural ansprichst.
Alle vorherigen Antwortenden (die ich zu der Zeit sehen konnte). Dass das stets der gleiche war, war mir relativ egal.
-
Ok. Jetzt habe ich es.
Vielen Dank für die schnelle Hilfe