logo

Funcția Atoi() în C

În acest articol, vom discuta despre remorcare() funcţionează în c cu exemplele lor.

Ce este Atoi()?

The remorcare() funcția convertește un întreg valoare de la a şir de personaje. Șirul de intrare este un șir de caractere care poate fi transformat într-o valoare numerică de tip returnat. Funcția nu mai citește șirul de intrare când întâlnește primul caracter pe care nu îl consideră parte dintr-un număr. Poate fi caracterul nul de la capetele șirului. The remorcare() funcția nu acceptă exponenții și numerele zecimale.

Funcția int atoi( const char *str ) în C biblioteca schimbă argumentul șir str într-un număr întreg. În general, funcția convertește un argument șir într-un număr întreg. Funcția atoi() omite toate caracterele de spațiu alb la începutul șirului. De asemenea, convertește caracterele ca parte numerică și se oprește când găsește primul caracter non-număr.

Funcția de bibliotecă Atoi().

Funcția de bibliotecă predefinită atoi() în programarea C gestionează conversia șir în întreg. Funcția este specificată în fișierul antet stdlib.h .

parcurgerea în prealabil a unui arbore

Sintaxa funcției Atoi().

Sintaxa funcției Atoi() poate fi definită ca:

 int atoi(const char *str) 

Parametru

Un singur parametru, un șir, este transmis funcției. Punctul important de reținut că șirul este primit ca o constantă. Funcția atoi() nu modifică niciodată un șir primit și returnează doar valoarea sa întreg transformată. Fișierul antet „stdlib.h” acceptă toate funcțiile de tipărire în limbajul C.

Valoare returnată

Dacă str este o intrare validă, funcția returnează numărul întreg egal cu numărul șirului transmis. Dacă str nu are o intrare validă, funcțiile returnează valoarea zero. În general, șirurile pot fi convertite efectiv în numere includ următorii parametri:

cum se citește dintr-un fișier csv în java
  1. Corzi alcătuite în întregime din ASCII cifre „0123456789” .
  2. Șiruri care încep cu caracterul '+' și sunt alcătuite în întregime din ASCII
  3. Corzi alcătuite în întregime din ASCII cifre și începând cu caracterul '-' .

Funcția Atoi() funcționează în mod incremental. Cu alte cuvinte, construiește numere care sunt reprezentate prin șiruri unul câte unul. Funcția se întrerupe numai când întâlnește un non-ASCII.

Funcția Atoi() returnează una dintre cele două valori posibile după rupere. Dacă funcția este apelată la începutul șirului și nu a fost transformată nicio valoare, returnează 0. În caz contrar, ar returna numărul recent pe care îl are.

Exemplul 1:

Să luăm un exemplu pentru a înțelege funcția atoi() în 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); } 

Ieșire: După executarea acestui cod de mai sus, vom obține rezultatul așa cum se arată mai jos:

convertiți șirul în int java
 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

Exemplul 2:

Acest exemplu gestionează numerele negative. Dacă primul personaj este '-' , plasați semnul ca negativ și apoi transformați restul șirului într-un număr înmulțind semnul cu acesta.

 #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; } 

Ieșire: După executarea acestui cod de mai sus, vom obține rezultatul așa cum se arată mai jos:

găsiți în șirul c++
 Output = -23233 

Exemplul 3:

Să luăm un alt program C pentru a converti șirul în întreg folosind funcția Atoi ().

 #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; } 

Ieșire: După executarea codului de mai sus, vom obține rezultatul așa cum se arată mai jos:

Ieșirea este:

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