Drucken char Puffer in hex-array
Ich lese 512 chars in einen Puffer und würde gerne die Anzeige in hex. Ich habe versucht, die folgenden Ansatz, aber es ist nur Ausgänge der gleichen Wert all der Zeit, trotz unterschiedlicher Werte sollten über das Netzwerk empfangen.
char buffer[512];
bzero(buffer, 512);
n = read(connection_fd,buffer,511);
if (n < 0) printf("ERROR reading from socket");
printf("Here is the message(%d): %x\n\n", sizeof(buffer), buffer);
Ist es möglich, dass ich hier ausgebe die Adresse des Puffer-array, sondern als dessen Inhalt ist? Gibt es eine einfache Möglichkeit in C für diese Aufgabe, oder muss ich das schreiben, meine eigene Unterroutine?
möglich, Duplikat der Drucken Sie die hexadezimale Darstellung eines char array[]
InformationsquelleAutor Patrick | 2012-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen die gleichen 512-byte Puffer, aber konvertieren Sie jedes Charakter zu hex bei der Ausgabe:
"%02X"
statt"%X"
, da sonst einstellige Werte (also bytes im Bereich von 0-15 dezimal) gedruckt, als eine einzige Stelle.danfuzz Recht - ich habe zu schnell getippt. Danke.
An Ihrem service!
Toll, dass es funktioniert. Danke Jungs für all die Kommentare, die wirklich hilfreich um wieder in die Grundlagen der C-Sachen :).
Sie wollen (unsigned char)
InformationsquelleAutor Mark Stevens
Dies ist nicht, wie C funktioniert. Wenn überhaupt, dann drucken Sie die Adresse der
buffer
array.Müssen Sie schreiben ein Unterprogramm durchläuft jedes byte in den Puffer und gibt diese in hexadezimal.
Und ich würde empfehlen, Sie beginnen zu akzeptieren, manche Antworten, wenn Sie wirklich wollen, Menschen, um Ihnen zu helfen.
InformationsquelleAutor Jonathan Wood
Anzeigen einen char in hex-Sie müssen nur das richtige format specificer und müssen Sie eine Schleife durch den Puffer:
Den code, den Sie verwenden, wurde das drucken der Adresse des Puffers, die ist, warum es nicht ändern für Sie.
Da es schon eine Weile für Sie, wenn Sie möchten, um zu sehen, jedes byte schön formatiert
0xNN
Sie können auch die%#x
format:Etwas wie:
InformationsquelleAutor Mike