logo

Atoi()-funksjonen i C

I denne artikkelen skal vi diskutere slepe() funksjon i c med deres eksempler.

Hva er Atoi()?

De slepe() funksjon konverterer en heltall verdi fra a streng av karakterer. Inndatastrengen er en tegnstreng som kan gjøres om til en numerisk verdi av returtype. Funksjonen slutter å lese inndatastrengen når den støter på det første tegnet som den ikke anser som en del av et tall. Det kan være null-tegnet ved enden av strengen. De slepe() funksjonen støtter ikke eksponentene og desimaltall.

Funksjonen int atoi( const char *str ) i C bibliotek endrer strengargumentet str til et heltall. Vanligvis konverterer funksjonen et strengargument til et heltall. Atoi()-funksjonen hopper over alle mellomromstegnene ved starten av strengen. Den konverterer også tegnene som nummerdelen og stopper når den finner det første ikke-tallstegn.

Atoi() bibliotekfunksjon

Den forhåndsdefinerte bibliotekfunksjonen atoi() i C-programmering håndterer konvertering av streng til heltall. Funksjonen er spesifisert i overskriftsfilen stdlib.h .

støpt i sql

Syntaks for Atoi()-funksjonen

Syntaksen til Atoi()-funksjonen kan defineres som:

 int atoi(const char *str) 

Parameter

Bare én parameter, en streng, sendes til funksjonen. Det er viktig å huske at strengen mottas som en konstant. Atoi()-funksjonen endrer aldri en mottatt streng og returnerer bare dens transformerte heltallsverdi. Overskriftsfilen 'stdlib.h' støtter alle typecasting-funksjoner på C-språket.

Returverdi

Hvis str er en gyldig inndata, returnerer funksjonen heltallet lik det beståtte strengnummeret. Hvis str ikke har noen gyldig inndata, returnerer funksjonene nullverdi. Generelt kan strenger effektivt konverteres til tall, inkludert følgende parametere:

  1. Strenger består utelukkende av ASCII sifre '0123456789' .
  2. Strenger som begynner med karakteren '+' og består utelukkende av ASCII
  3. Strenger består utelukkende av ASCII sifre og begynner med tegnet '-' .

Atoi()-funksjonen fungerer trinnvis. Med andre ord, den konstruerer tall som er representert av strenger én etter én. Funksjonen brytes bare når den møter en ikke-ASCII.

streng sammenlignet med java

Atoi()-funksjonen returnerer en av to mulige verdier etter brudd. Hvis funksjonen kalles på begynnelsen av strengen og ingen verdier har blitt transformert, returnerer den 0. Ellers ville den returnert det siste tallet den har.

Eksempel 1:

La oss ta et eksempel for å forstå atoi()-funksjonen i C.

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

Produksjon: Etter å ha utført denne koden ovenfor, vil vi få utdata som vist nedenfor:

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

Eksempel 2:

Dette eksemplet håndterer de negative tallene. Hvis det første tegnet er '-' , plasser tegnet som negativt og transformer deretter resten av strengen til et tall ved å multiplisere tegnet med det.

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

Produksjon: Etter å ha utført denne koden ovenfor, vil vi få utdata som vist nedenfor:

 Output = -23233 

Eksempel 3:

La oss ta et annet C-program for å konvertere strengen til heltall ved å bruke Atoi ()-funksjonen.

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

Produksjon: Etter å ha utført koden ovenfor, vil vi få utdata som vist nedenfor:

Utgangen er:

regexp_like i mysql
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1