Прежде чем продолжить, я должен предупредить вас, что itoa
НЕ является функцией ANSI - это не стандартная функция C.Вы должны использовать sprintf
для преобразования int
в строку.
itoa
принимает три аргумента.
- Первым является целое число, которое нужно преобразовать.
- Второй - указатель на массив символов - это место, где будет храниться строка.Программа может завершиться сбоем, если вы передадите переменную
char *
, поэтому вы должны передать массив char нормального размера, и он будет работать нормально. - Последний НЕ является размером массива, но этоБАЗА вашего числа - база 10, которую вы, скорее всего, будете использовать.
Функция возвращает указатель на свой второй аргумент - где она сохранила преобразованную строку.
itoa
- очень полезная функция, которая поддерживается некоторыми компиляторами. Жаль, что она поддерживается не всеми, в отличие от atoi
.
Если вы все еще хотите использовать itoa
, здеськак вы должны его использовать.В противном случае, у вас есть другая опция, использующая sprintf
(если вы хотите вывод 8, 10 или 16):
char str[5];
printf("15 in binary is %s\n", itoa(15, str, 2));