logo

Атои() функција у Ц

У овом чланку ћемо разговарати о вуча() функција у ц са својим примерима.

Шта је Атои()?

Тхе вуча() функција претвара ан цео број вредност из а низ ликова. Улазни низ је низ знакова који се може претворити у нумеричку вредност повратног типа. Функција престаје да чита улазни низ када наиђе на први знак који не сматра делом броја. То може бити нулти карактер на крајевима стринга. Тхе вуча() функција не подржава експоненте и децималне бројеве.

Функција инт атои( цонст цхар *стр ) у Ц библиотека мења стринг аргумент стр у цео број. Генерално, функција претвара стринг аргумент у цео број. Функција атои() прескаче све знакове размака на почетку стринга. Такође претвара знакове као део броја и зауставља се када пронађе први знак који није број.

Функција библиотеке Атои().

Унапред дефинисана библиотечка функција атои() у Ц програмирању управља конверзијом стрингова у цео број. Функција је наведена у датотеци заглавља стдлиб.х .

распакивање у линуксу

Синтакса функције Атои().

Синтакса функције Атои() може се дефинисати као:

 int atoi(const char *str) 

Параметар

Само један параметар, стринг, се прослеђује функцији. Важно је запамтити да се стринг прима као константа. Функција атои() никада не мења примљени стринг и само враћа његову трансформисану целобројну вредност. Датотека заглавља 'стдлиб.х' подржава све функције типова у језику Ц.

Повратна вредност

Ако је стр исправан улаз, функција враћа цео број једнак броју прослеђеног стринга. Ако стр нема важећи улаз, функције враћају нулту вредност. Генерално, низови се могу ефикасно конвертовати у бројеве укључују следеће параметре:

  1. Жице састављене у потпуности од АСЦИИ цифре '0123456789' .
  2. Низови који почињу са знаком '+' и састоје се у потпуности од АСЦИИ
  3. Жице састављене у потпуности од АСЦИИ цифре и почевши од знака '-' .

Функција Атои() ради постепено. Другим речима, конструише бројеве који су представљени низовима један по један. Функција се прекида само када наиђе на не-АСЦИИ.

јава стринг аппенд

Функција Атои() враћа једну од две могуће вредности након прекида. Ако је функција позвана на почетку стринга и ниједна вредност није трансформисана, она враћа 0. У супротном, вратила би недавни број који има.

Пример 1:

Узмимо пример да разумемо функцију атои() у Ц.

бројеви азбуке
 #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:

Узмимо још један Ц програм за претварање стринга у цео број помоћу функције Атои ().

 #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