logo

Atoi()-functie in C

In dit artikel gaan we het hebben over de slepen() functie in c met hun voorbeelden.

Wat is Atoi()?

De slepen() functie converteert een geheel getal waarde vanaf een snaar van karakters. De invoerreeks is een tekenreeks die kan worden omgezet in een numerieke waarde van het retourtype. De functie stopt met het lezen van de invoertekenreeks wanneer deze het eerste teken tegenkomt dat niet als onderdeel van een getal wordt beschouwd. Het kan het null-teken aan de stringuiteinden zijn. De slepen() functie ondersteunt geen exponenten en decimale getallen.

De functie int atoi( const char *str ) in de C bibliotheek verandert het stringargument str in een geheel getal. Over het algemeen converteert de functie een stringargument naar een geheel getal. De functie atoi() slaat alle witruimtetekens aan het begin van de string over. Het converteert de tekens ook als het cijfergedeelte en stopt wanneer het eerste niet-getalteken wordt gevonden.

Atoi() Bibliotheekfunctie

De vooraf gedefinieerde bibliotheekfunctie atoi() in C-programmering verzorgt de conversie van tekenreeksen naar gehele getallen. De functie wordt gespecificeerd in het headerbestand stdlib.h .

jdbc jdbc

Syntaxis van de functie Atoi().

De syntaxis van de functie Atoi() kan als volgt worden gedefinieerd:

 int atoi(const char *str) 

Parameter

Er wordt slechts één parameter, een tekenreeks, aan de functie doorgegeven. Het belangrijke punt om te onthouden is dat de string als een constante wordt ontvangen. De functie atoi() verandert nooit een ontvangen tekenreeks en retourneert alleen de getransformeerde gehele waarde ervan. Het headerbestand 'stdlib.h' ondersteunt alle typecasting-functies in de C-taal.

Winstwaarde

Als str een geldige invoer is, retourneert de functie het gehele getal dat gelijk is aan het doorgegeven tekenreeksnummer. Als str geen geldige invoer heeft, retourneren de functies een nulwaarde. Over het algemeen kunnen tekenreeksen effectief worden geconverteerd naar getallen en bevatten ze de volgende parameters:

  1. Snaren die geheel uit ASCII cijfers '0123456789' .
  2. Tekenreeksen die beginnen met het teken '+' en bestaan ​​geheel uit ASCII
  3. Snaren die geheel uit ASCII cijfers en beginnend met het teken '-' .

De functie Atoi() werkt stapsgewijs. Met andere woorden, het construeert getallen die één voor één door tekenreeksen worden weergegeven. De functie wordt alleen verbroken als deze een niet-ASCII tegenkomt.

object in Java-programmering

De functie Atoi() retourneert een van de twee mogelijke waarden na het verbreken. Als de functie aan het begin van de tekenreeks wordt aangeroepen en er geen waarden zijn getransformeerd, retourneert deze 0. Anders retourneert deze het recente getal dat deze heeft.

Voorbeeld 1:

Laten we een voorbeeld nemen om de functie atoi() in C te begrijpen.

JavaScript het dichtst bij
 #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); } 

Uitgang: Na het uitvoeren van bovenstaande code, krijgen we de uitvoer zoals hieronder weergegeven:

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

Voorbeeld 2:

In dit voorbeeld worden de negatieve getallen beheerd. Als het eerste teken dat is '-' , plaats het teken als negatief en transformeer vervolgens de rest van de string naar een getal door het teken ermee te vermenigvuldigen.

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

Uitgang: Na het uitvoeren van bovenstaande code, krijgen we de uitvoer zoals hieronder weergegeven:

 Output = -23233 

Voorbeeld 3:

Laten we een ander C-programma nemen om de string naar een geheel getal te converteren met behulp van de functie 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; } 

Uitgang: Na het uitvoeren van de bovenstaande code krijgen we de uitvoer zoals hieronder weergegeven:

De uitvoer is:

rr-algoritme
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1