Это в значительной степени то, как работает каждая реализация itoa
, которую я видел.
Одна вещь, о которой вы не упоминаете, но о которой хотите позаботиться, это проверка границ (т.е.Вы не пишете мимо bufLen
).
Что касается знака: после того, как вы написали -
, вам нужно отрицать значение.Кроме того, -
необходимо исключить из окончательного разворота;альтернативой является запоминание знака в начале, но только запись в конце (непосредственно перед изменением).
Один последний крайний случай - убедиться, что ноль записан правильно, то есть как 0
а не как пустая строка.