logo

Функція Atoi() у C

У цій статті ми збираємося обговорити буксирувати() функції в с зі своїми прикладами.

Що таке Atoi()?

The буксирувати() функція перетворює an ціле число значення від a рядок символів. Вхідний рядок — це рядок символів, який можна перетворити на числове значення типу повернення. Функція припиняє читати вхідний рядок, коли зустрічає перший символ, який вона не вважає частиною числа. Це може бути нульовий символ на кінцях рядка. The буксирувати() функція не підтримує експоненти та десяткові числа.

Функція int atoi( const char *str ) в C бібліотека змінює рядковий аргумент str на ціле число. Зазвичай функція перетворює рядковий аргумент у ціле число. Функція atoi() пропускає всі пробіли на початку рядка. Він також перетворює символи як числову частину та зупиняється, коли знаходить перший нечисловий символ.

Бібліотечна функція Atoi().

Попередньо визначена бібліотечна функція atoi() у програмуванні на C обробляє перетворення рядка в ціле. Функція вказана в заголовному файлі stdlib.h .

код кодування Хаффмана

Синтаксис функції Atoi().

Синтаксис функції Atoi() можна визначити так:

 int atoi(const char *str) 

Параметр

У функцію передається лише один параметр, рядок. Важливо пам’ятати, що рядок отримується як константа. Функція atoi() ніколи не змінює отриманий рядок і повертає лише його перетворене ціле значення. Заголовний файл 'stdlib.h' підтримує всі функції приведення типів у мові C.

Повернене значення

Якщо str є дійсним введенням, функція повертає ціле число, що дорівнює номеру переданого рядка. Якщо str не має дійсних вхідних даних, функції повертають нульове значення. Загалом, рядки можуть бути ефективно перетворені в числа, включаючи такі параметри:

  1. Струни повністю складаються з ASCII цифри '0123456789' .
  2. Рядки, які починаються з символу '+' і повністю складаються з ASCII
  3. Струни повністю складаються з ASCII цифр і починаючи з символу '-' .

Функція Atoi() працює поступово. Іншими словами, він створює числа, які представлені рядками один за одним. Функція ламається лише тоді, коли вона зустрічає не-ASCII.

java проти c++

Функція Atoi() повертає одне з двох можливих значень після розриву. Якщо функція викликається на початку рядка і жодне значення не було перетворено, вона повертає 0. В іншому випадку вона повертає останній номер, який має.

приклад 1:

Розглянемо приклад, щоб зрозуміти функцію atoi() у C.

 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

Вихід: Після виконання цього коду вище ми отримаємо результат, як показано нижче:

 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

приклад 2:

Цей приклад керує від’ємними числами. Якщо перший символ '-' , поставити знак як мінус, а потім перетворити залишок рядка на число, помноживши знак на нього.

сортування вставкою
 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

Вихід: Після виконання цього коду вище ми отримаємо результат, як показано нижче:

 Output = -23233 

приклад 3:

Давайте візьмемо іншу програму на C, щоб перетворити рядок на ціле за допомогою функції Atoi ().

linux як перейменувати каталог
 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

Вихід: Після виконання наведеного вище коду ми отримаємо результат, як показано нижче:

Результат:

 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1