?
Hallo,
also, wenn man schon uint32_t hat, was mit C99 eingeführt wurde, sollte man mit hoher wahrscheinlichkeit auch inttypes.h haben. Dann ist die saubere Ausgabe/Eingabe von uint32_t werten mittels PRIu32, PRIo32, PRIx32, PRIX32, SCNu32, etc. zu erledigen. D.h.
snprintf(buffer, 16, "Bla %" PRIu32 " Bla", input);
Ausserdem sollte man mal bemerken, dass uin32_t "unsigned" ist und nicht "signed" und damit wäre ein Workaround auch wenn
snprintf(buffer, 16, "Bla %lu Bla", (unsigned long)input);
und nicht
snprintf(buffer, 16, "Bla %ld Bla", (long)input);
Das mit unsigned long müsste eigentlich auch immer funktionieren, da ich meine mich zu erinnern, ein unsigned long quasi mindestes 32-bit breit ist, bzw. eigentlich nur garantieren muss, dass man mindestens die Zahlen 0 bis 2^32-1 darstellen kann...
Gruß
Pauline