Прежде всего, itoa
- не C ++.
Вы можете просто использовать sprintf
:
sprintf(str, "%d", a)
В реальном приложении, которое вы захотите использовать snprintf
хотя для устранения риска переполнения буфера:
str = malloc(16);
snprintf(str, 16, "%d", a);
И 15 символов достаточно для хранения целого числа.