Wie format unsigned int in 8-stellige hexadezimale Zahl?
Ich soll format unsigned int, um eine 8-stellige langen string mit führenden Nullen.
Dies ist, was ich habe, so weit:
unsigned int number = 260291273;
char output[9];
sprintf(output, "%x", number);
printf("%s\n", output); //or write it into a file with fputs
Drucke "f83bac9", aber ich will "0f83bac9". Wie kann ich erreichen, das die Formatierung?
- Ich habe nicht downvote, aber ich könnte mir vorstellen, dass es für die Frage kann ganz einfach beantwortet, durch einen Blick in die manual-Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie "%08x" als format-string.
Können Sie null-Polsterung durch die Angabe
0
und die Anzahl der Ziffern, die Sie wollen, zwischen%
- und den format-Typ.Beispielsweise für hexadezimale zahlen mit (mindestens) 8-stellig, die Sie verwenden würden
%08x
:Ausgang (wenn
number
500):