Lange Hex-Darstellung ohne Vorzeichen

#include <stdio.h>
#include <string.h>

int main(void) {
    char buf[256] = {};
    unsigned long i=13835058055298940928;
    snprintf(buf, 1024, "%lx", i); /* Line 7 */
    printf("%s\n",buf);
    return 0;
}

In Zeile 7, wenn ich benutze%lux dannsnprintf konvertiert nicht und druckt nur0x13835058055298940928x, wohingegen wenn ich nur benutze%lx Gibt eine erwartete Hex-Konvertierung aus.

Wie stelle ich unsigned long in hex dar?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage