Problem beim umschreiben von Bytes
-
Hallo zusammen,
ich denke das ist eine Frage, die in der MFC nix zu suchen hat.
Erstmal zu den Voraussetzungen. Ich lese eine Zeichenkette über das Netzwerk ein. dort werden Hexadezimale Zahlen in den Bytes codiert. ein Byte mit Inhalt 0xFF ergibt nach dem Schreiben:sprintf(test,"%X",eingang_char);als Zeichenkette erhalte ich für das eine Byte
"FFFFFFFF"
Nun habe ich in der Spez von Sprintf gesehen, dass sprintf bei hex Zahlen einen Integer verwertet. Kann es daran liegen und wenn ja, wie bekomme ich den eigentlichen Inhalt des Bytes ("FF") hin?
Vielen Dank und Grüße,
Ranger
-
Versuch mal Folgendes:
sprintf(test,"%X",eingang_char & 0xFF);
-
Antwort selbst gefunden.
Jedes Byte aus dem empfangenen String in ein unsigned Byte umspeichern und dann die Umwandlung vornehmen, denn im normalen char liegt bei FF ne -1 drin. das führt zu den vielen "F",
Trotzdem Danke, wenn sich schon jemand Mühe gemacht hat.
Ranger
-
Danke Matze,
das geht natürlich auch.
Vielen Dank.
-
Ja klar. Einfach unsigned char nehmen. Hätte ich auch drauf kommen können...