Section courante

A propos

Section administrative du site

ATOI

Alpha à entier
Langage C stdlib.h

Syntaxe

int atoi(const char *str);

Paramètres

Nom Description
str Ce paramètre permet d'indiquer la chaîne de caractères à convertir

Description

Cette fonction convertie une chaîne de caractères en une valeur entière «int».

Algorithme

* Entrée : Une chaîne de caractères str représentant un nombre entier
* Sortie : Un entier (int)

MODULE ATOI(str)
   Initialiser index ← 0
   Initialiser résultat ← 0
   Initialiser signe ← 1

   * Ignorer les espaces blancs initiaux
   BOUCLE TANT QUE str[index] est un espace blanc FAIRE
      Incrémenter index
   FIN BOUCLE TANT QUE

   * Vérifier le signe
   SI str[index] = '-' ALORS
      signe ← -1
      Incrémenter index
   SINON SI str[index] = '+' ALORS
      Incrémenter index
   FIN SI

   * Lire les chiffres et les convertir en entier
   BOUCLE TANT QUE str[index] est un chiffre FAIRE
      résultat ← (résultat x 10) + (valeur numérique de str[index])
      Incrémenter index
   FIN BOUCLE TANT QUE

   RETOURNE résultat x signe

Remarques

Exemples

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     printf("atoi('12')=%i\n",atoi("12"));
  7.     printf("atoi('-7')=%i\n",atoi("-7"));
  8.     return 0;
  9. }

on obtiendra le résultat suivant :

atoi('12')=12
atoi('-7')=-7

L'exemple suivant permet de montrer le comportement de cette fonction lorsqu'il ne contient pas uniquement des nombres mais des caractères par exemple :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     printf("atoi('gladir')=%i\n",atoi("gladir"));
  7.     printf("atoi('gladir.')=%i\n",atoi("gladir."));
  8.     printf("atoi('gladir.com')=%i\n",atoi("gladir.com"));
  9.     printf("atoi('16gladir.com')=%i\n",atoi("16gladir.com"));
  10.     printf("atoi('gladir.com16')=%i\n",atoi("gladir.com16"));
  11.     printf("atoi('gladir16.17com')=%i\n",atoi("gladir16.17com"));
  12.     return 0;
  13. }

on obtiendra le résultat suivant :

atoi('gladir')=0
atoi('gladir.')=0
atoi('gladir.com')=0
atoi('16gladir.com')=16
atoi('gladir.com16')=0
atoi('gladir16.17com')=0

Voir également

Langage de programmation - C++ - Référence de procédures et fonctions - atoi

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 34.

Dernière mise à jour : Mardi, le 28 juillet 2015