auf eine alte Frage Nach Converting hex to string in C?C - Umwandlung von Hex-String
Die zugelassene Antwort schlägt sprintf zu verwenden, um jedes Hex-String zu konvertieren.
Ich habe zwei Fragen zu diesem Thema -
1) Wenn ich einen Hex habe wie 0a
ich meine Zeichenfolge will 0a
haben, aber nach der obigen Lösung wird das Ergebnis a
hat.
2) Was mache ich hier falsch?
#include <stdio.h>
int main(void)
{
unsigned char readingreg[10];
readingreg[0] = 0x4a;
readingreg[1] = 0xab;
readingreg[2] = 0xab;
readingreg[3] = 0x0a;
readingreg[4] = 0x40;
unsigned char temp[10];
int i = 0;
while (i < 5)
{
sprintf(temp + i, "%x", readingreg[i]);
i++;
}
printf("String: %s\n", temp);
return 0;
}
Die o/p scheint - String: 4aaa40
3) sowohl die beide Fragen kombinierend, ich möchte mein Ergebnis String 4aabab0a40
TIA
'sprintf (Temp + 2 * i, "% 02x", readingreg [i]);' Und: 'unsigned char temp [10 + 1];' (Aber es ist besser, den Rückgabewert von sprintf() zu verwenden, oder: benutze auch snprintf()) – wildplasser
1) Ist keine Frage. 3) ist keine Frage. 2) liegt außerhalb des Geltungsbereichs von SO. –