logo

Fonction Atoi() en C

Dans cet article, nous allons aborder le remorquer() fonction en c avec leurs exemples.

Qu’est-ce qu’Atoi() ?

Le remorquer() la fonction convertit un entier valeur d'un chaîne de personnages. La chaîne d'entrée est une chaîne de caractères qui peut être transformée en une valeur numérique de type retour. La fonction arrête de lire la chaîne d'entrée lorsqu'elle rencontre le premier caractère qu'elle ne considère pas comme faisant partie d'un nombre. Il peut s'agir du caractère nul à la fin de la chaîne. Le remorquer() la fonction ne prend pas en charge les exposants et les nombres décimaux.

La fonction int atoi( const char *str ) dans le C La bibliothèque change l'argument de chaîne str en un entier. Généralement, la fonction convertit un argument de chaîne en entier. La fonction atoi() ignore tous les espaces blancs au début de la chaîne. Il convertit également les caractères en partie numérique et s'arrête lorsqu'il trouve le premier caractère non numérique.

Fonction de bibliothèque Atoi()

La fonction de bibliothèque prédéfinie atoi() dans la programmation C gère la conversion de chaîne en entier. La fonction est spécifiée dans le fichier d'en-tête stdlib.h .

aws sns

Syntaxe de la fonction Atoi()

La syntaxe de la fonction Atoi() peut être définie comme :

 int atoi(const char *str) 

Paramètre

Un seul paramètre, une chaîne, est transmis à la fonction. Le point important à retenir est que la chaîne est reçue comme une constante. La fonction atoi() ne modifie jamais une chaîne reçue et renvoie uniquement sa valeur entière transformée. Le fichier d'en-tête 'stdlib.h' prend en charge toutes les fonctions de transtypage dans le langage C.

Valeur de retour

Si str est une entrée valide, la fonction renvoie le nombre entier égal au numéro de chaîne transmis. Si str n'a pas d'entrée valide, les fonctions renvoient une valeur nulle. En général, les chaînes peuvent être efficacement converties en nombres et incluent les paramètres suivants :

  1. Cordes entièrement constituées de ASCII chiffres '0123456789' .
  2. Chaînes commençant par le caractère '+' et sont entièrement constitués de ASCII
  3. Cordes entièrement constituées de ASCII chiffres et commençant par le caractère '-' .

La fonction Atoi() fonctionne de manière incrémentielle. En d’autres termes, il construit un par un des nombres représentés par des chaînes. La fonction ne s'interrompt que lorsqu'elle rencontre un non-ASCII.

convertir une chaîne en entier

La fonction Atoi() renvoie l'une des deux valeurs possibles après rupture. Si la fonction est appelée au début de la chaîne et qu'aucune valeur n'a été transformée, elle renvoie 0. Sinon, elle renverra le numéro récent dont elle dispose.

Exemple 1:

Prenons un exemple pour comprendre la fonction atoi() en C.

0,2 en fraction
 #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); } 

Sortir: Après avoir exécuté ce code ci-dessus, nous obtiendrons le résultat comme indiqué ci-dessous :

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

Exemple 2 :

Cet exemple gère les nombres négatifs. Si le premier caractère est '-' , placez le signe comme négatif, puis transformez le reste de la chaîne en nombre en multipliant le signe par celui-ci.

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

Sortir: Après avoir exécuté ce code ci-dessus, nous obtiendrons le résultat comme indiqué ci-dessous :

 Output = -23233 

Exemple 3 :

Prenons un autre programme C pour convertir la chaîne en entier à l'aide de la fonction 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; } 

Sortir: Après avoir exécuté le code ci-dessus, nous obtiendrons le résultat comme indiqué ci-dessous :

Le résultat est :

np.argmax
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1