ich ein char-Array haben von Hex-Werte zusammen, die in etwa so aussieht:C fprintf hexadezimal falsche Ausgabe
char str[] =
"\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
"\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
"\x80\xe8\xdc\xff\xff\xff";
Nach diesen String Manipulation, möchte ich fprintf
diese Zeichenfolge in eine Datei diese Anweisung:
fprintf(fp, "%X\n", str);
aber ich bin eine Ausgabe ähnlich wie diese bekommen:
65C58A20
Scheint wie es zu einer einzigen Hex-Nummer kondensiert wurde. Wie kann ich fprintf
die str
in der gleichen Form habe ich oben erklärt, mit separaten Hex-Werten für jedes einzelne Byte?
Might 'sprintf()' Arbeit? Benutzen Sie es, um das Char-Array in eine Zeichenkette umzuwandeln, und drucken Sie diese Zeichenkette stattdessen in die Datei? – verbose
Warum '% X' ?! Hast du das Handbuch zu 'printf' gelesen? –
'fprintf (fp,"% 02X \ n ", (vorzeichenloses Zeichen) str [index])' – BLUEPIXY