logo

Atoi()-funktionen i C

I den här artikeln kommer vi att diskutera bogsera() funktion i c med sina exempel.

Vad är Atoi()?

De bogsera() funktion konverterar en heltal värde från a sträng av karaktärer. Inmatningssträngen är en teckensträng som kan omvandlas till ett numeriskt värde av returtyp. Funktionen slutar läsa inmatningssträngen när den stöter på det första tecknet som den inte betraktar som en del av ett tal. Det kan vara nolltecknet vid strängens slut. De bogsera() Funktionen stöder inte exponenter och decimaltal.

Funktionen int atoi( const char *str ) i C biblioteket ändrar strängargumentet str till ett heltal. I allmänhet konverterar funktionen ett strängargument till ett heltal. Funktionen atoi() hoppar över alla blanktecken i början av strängen. Den konverterar också tecknen som nummerdel och stoppar när den hittar det första icke-siffertecknet.

Atoi() biblioteksfunktion

Den fördefinierade biblioteksfunktionen atoi() i C-programmering hanterar konvertering från sträng till heltal. Funktionen anges i rubrikfilen stdlib.h .

slumptal mellan 1 och 10

Syntax för Atoi()-funktionen

Syntaxen för Atoi()-funktionen kan definieras som:

 int atoi(const char *str) 

Parameter

Endast en parameter, en sträng, skickas till funktionen. Den viktiga punkten att komma ihåg att strängen tas emot som en konstant. Funktionen atoi() ändrar aldrig en mottagen sträng och returnerar endast dess transformerade heltalsvärde. Rubrikfilen 'stdlib.h' stöder alla typsändningsfunktioner i C-språket.

Returvärde

Om str är en giltig inmatning returnerar funktionen heltalet lika med det passerade strängnumret. Om str inte har någon giltig inmatning returnerar funktionerna nollvärde. I allmänhet kan strängar effektivt konverteras till siffror som inkluderar följande parametrar:

  1. Strängar består helt av ASCII siffror '0123456789' .
  2. Strängar som börjar med karaktären '+' och består helt av ASCII
  3. Strängar består helt av ASCII siffror och börjar med tecknet '-' .

Funktionen Atoi() fungerar inkrementellt. Med andra ord, den konstruerar tal som representeras av strängar en efter en. Funktionen bryts bara när den stöter på en icke-ASCII.

påskägg i Android

Funktionen Atoi() returnerar ett av två möjliga värden efter brytning. Om funktionen anropas i början av strängen och inga värden har transformerats, returnerar den 0. Annars skulle den returnera det senaste numret den har.

Exempel 1:

Låt oss ta ett exempel för att förstå atoi()-funktionen i C.

delsträng i bash
 #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); } 

Produktion: Efter att ha kört den här ovanstående koden kommer vi att få utdata som visas nedan:

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

Exempel 2:

Det här exemplet hanterar de negativa talen. Om det första tecknet är '-' , placera tecknet som negativt och omvandla sedan resten av strängen till ett tal genom att multiplicera tecknet 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; } 

Produktion: Efter att ha kört den här ovanstående koden kommer vi att få utdata som visas nedan:

 Output = -23233 

Exempel 3:

Låt oss ta ett annat C-program för att konvertera strängen till heltal med hjälp av funktionen 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; } 

Produktion: Efter att ha kört ovanstående kod kommer vi att få utdata som visas nedan:

Utgången är:

reagera inline stil
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1