Comment puis-je printf() un uint16_t?

- Je besoin pour utiliser printf() pour imprimer une uint16_t. Cette SORTE de réponse (Comment imprimer uint32_t et uint16_t variables de la valeur?) dit que j'ai besoin d'utiliser inttypes.h.

Cependant, je suis en train de travailler sur un système embarqué et inttypes.h n'est pas disponible. Comment puis-je imprimer un uint16_t lorsque le spécificateur de format pour un uint16_t n'est pas disponible?

printf("%u\n", (uint16_t)quelque chose);
Comprendre comment une gamme de différents types d'entiers sont sur votre système, et utiliser le spécificateur.
Non, %u s'attend à une unsigned int, pas un uint16_t. Le casting devrait être de unsigned int.

OriginalL'auteur user9993 | 2015-03-18