Как использовать функцию Itoa в C

Kak Ispol Zovat Funkciu Itoa V C



Язык программирования C был запущен более пяти десятилетий назад. С тех пор он приобрел огромную популярность в мире программирования. Он превосходит другие языки благодаря своим особенностям, включая структурную простоту, функции, переносимость, эффективное управление памятью и т. д. Несмотря на наличие различных других функций, функции в C являются наиболее важными активами, которые помогают многим пользователям писать надежные фрагменты кода.

Кроме того, itoa — это широко используемая нестандартная функция, действующая как преобразователь типов данных. Он принимает тип данных int в качестве входных данных и преобразует его в строку. Однако многие из вас не знают его использования. Поэтому в этом руководстве кратко объясняется, как без проблем использовать функцию itoa в C.







Как использовать функцию Itoa в C

Начнем с основ. Вот простой синтаксис функции itoa:



интервал основной ( ) {

интервал на одной '=' 12345 ;
голец ул. [ двадцать ] ;
утонул ( на одной , ул. , 10 ) ;
печать ( 'Целое число: %d \п Строка: %s \п ' , на одной , ул. ) ;
возвращаться 0 ;


}

В данной программе детали следующие:



  1. число — целое число
  2. str - это символ
  3. 10 это бас

Теперь давайте двинемся дальше, напишем программу и реализуем функцию itoa. Например, нам нужно написать программу для преобразования введенных чисел в строку.





#include

#include

пустота утонул ( интервал на одной , голец * ул. , интервал база ) {

интервал я '=' 0 ;
интервал isNegative '=' 0 ;

если ( на одной == 0 ) {
ул. [ я ++ ] '=' '0' ;
ул. [ я ] '=' ' \0 ' ;
возвращаться ;
}


если ( на одной < 0 && база '=' 10 ) {

isNegative '=' 1 ;
на одной '=' - на одной ;
}

пока ( на одной '=' 0 ) {
интервал рем '=' на одной % база ;

ул. [ я ++ ] '=' ( рем > 9 ) ? ( рем - 10 ) + 'а' : рем + '0' ;

на одной '=' на одной / база ;
}

если ( isNegative && база == 10 )
ул. [ я ++ ] '=' '-' ;

ул. [ я ] '=' ' \0 ' ;

интервал начинать '=' 0 ;
интервал конец '=' я - 1 ;


пока ( начинать < конец ) {

голец температура '=' ул. [ начинать ] ;
ул. [ начинать ] '=' ул. [ конец ] ;
ул. [ конец ] '=' температура ;
начинать ++;
конец --;
}
}

интервал основной ( ) {
интервал на одной ;
печать ( 'Введите целое число: ' ) ;

если ( сканирование ( '%d' , & на одной ) '=' 1 ) {
fprintf ( stderr , «Неверный ввод. Введите целое число. \п ' ) ;
возвращаться EXIT_FAILURE ;
}

интервал max_size '=' snprintf ( НУЛЕВОЙ , 0 , '%d' , на одной ) + 1 ;
голец * ул. '=' ( голец * ) маллок ( max_size ) ;

если ( ул. == НУЛЕВОЙ ) {
fprintf ( stderr , 'Выделение памяти не удалось \п ' ) ;
возвращаться EXIT_FAILURE ;
}


утонул ( на одной , ул. , 10 ) ;

печать ( 'Целое число: %d \п Строка: %s \п ' , на одной , ул. ) ;

бесплатно ( ул. ) ;

возвращаться 0 ;


}

В предыдущей программе itoa (int num, char *str, int base) — это функция itoa. Более того, следующий синтаксис напрямую присваивает результату ноль, если входное число также равно нулю:

если ( на одной == 0 ) {

ул. [ я ++ ] '=' '0' ;
ул. [ я ] '=' ' \0 ' ;
возвращаться ;


}

Если входное число отрицательное и основание также не равно 10, следующие строки программы установят отрицательный флаг:



если ( на одной < 0 && база '=' 10 ) {

isNegative '=' 1 ;
на одной '=' - на одной ;

Следующий цикл обрабатывает все цифры и преобразует их в соответствующий символ. Следовательно, для оснований больше 10 программа использует буквы от «a» до «f» для цифр от 10 до 15.

}

пока ( на одной '=' 0 ) {

интервал рем '=' на одной % база ;

ул. [ я ++ ] '=' ( рем > 9 ) ? ( рем - 10 ) + 'а' : рем + '0' ;

на одной '=' на одной / база ;

}

Если число изначально отрицательное и его основание равно 10, программа добавит отрицательный знак к строке результата.

если ( isNegative && база == 10 )

ул. [ я ++ ] '=' '-' ;

Следующие строки завершают строку результата, а затем меняют ее местами, поскольку в процессе преобразования цифры получаются в обратном порядке:

ул. [ я ] '=' ' \0 ' ;

// Переворачиваем строку

интервал начинать '=' 0 ;

интервал конец '=' я - 1 ;

пока ( начинать < конец ) {

голец температура '=' ул. [ начинать ] ;
ул. [ начинать ] '=' ул. [ конец ] ;
ул. [ конец ] '=' температура ;
начинать ++;
конец --;


}

Следовательно, программа принимает целое число в качестве входных данных и выделяет память для строкового представления. После этого он вызывает itoa для преобразования целого числа в строку и печатает исходное целое число. Наконец, он освобождает выделенную память. Например, присвоим номер программе:

Однако если вы введете нецелое число, программа покажет следующий результат:

Заключение

Вот как вы можете легко реализовать и использовать функцию itoa в C. Мы использовали подробный пример, содержащий несколько функций для преобразования целого числа в строку. Помните, что это всего лишь пример, но вы можете комбинировать функцию itoa с различными функциями для написания потрясающих программ.