Как преобразовать uint16_t в char* с ведущими нулями

Как я могу преобразовать переменные uint_16_t в char* с ведущими нулями. Мой код до сих пор:

  uint16_t x = 123;
  char x_string[5];
  sprintf(x_string, "%d", x);

Это возвращает строку "123" вместо "00123". Я мог бы использовать log10(), чтобы определить количество символов переменной int и добавить нули позже. Но я хотел бы знать, есть ли более простой способ архивирования этой или даже тонкой стандартной функции.

0 ответов

Другие вопросы по тегам