Как преобразовать uint16_t в char* с ведущими нулями
Как я могу преобразовать переменные uint_16_t в char* с ведущими нулями. Мой код до сих пор:
uint16_t x = 123;
char x_string[5];
sprintf(x_string, "%d", x);
Это возвращает строку "123" вместо "00123". Я мог бы использовать log10(), чтобы определить количество символов переменной int и добавить нули позже. Но я хотел бы знать, есть ли более простой способ архивирования этой или даже тонкой стандартной функции.