atoi ()- Convertir une chaîne de caractères en entier

Format

#include <stdlib.h>
int atoi(const char *string);

Niveau de langue

American National Standards Institute

Unités d'exécution protégées

Oui

Sensible à l'environnement local

Le comportement de cette fonction peut être affecté par la catégorie LC_CTYPE de l'environnement local en cours. Pour plus d'informations, voir Présentation des CCSID et des environnements locaux.

Description

La fonction atoi() convertit une chaîne de caractères en valeur entière. L'entrée chaîne est une séquence de caractères qui peut être interprétée comme une valeur numérique du type de retour spécifié. La fonction arrête de lire la chaîne d'entrée au premier caractère qu'elle ne peut pas reconnaître comme faisant partie d'un nombre. Ce caractère peut être le caractère null qui termine la chaîne.

La fonction atoi() ne reconnaît pas les séparateurs décimaux ni les exposants. L'argument string de cette fonction se présente sous la forme suivante:

Lire le diagramme de syntaxeIgnorer le diagramme de syntaxe graphiqueblanc+-caractères numériques

blanc est constitué des mêmes caractères pour lesquels la fonction isspace() est vraie, tels que les espaces et les tabulations. La fonction atoi() ignore les espaces de début. La valeur chiffres représente un ou plusieurs chiffres décimaux.

Valeur renvoyée

La fonction atoi() renvoie une valeur int qui est générée en interprétant les caractères d'entrée comme un nombre. La valeur de retour est 0 si la fonction ne peut pas convertir l'entrée en une valeur de ce type. La valeur de retour n'est pas définie en cas de dépassement.

Exemple

Cet exemple montre comment convertir des nombres stockés sous forme de chaînes en valeurs numériques.
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int i;
    char *s;
 
    s = " -9885";
    i = atoi(s);     /* i = -9885 */
 
    printf("i = %d\n",i);
}
 
/*******************  Output should be similar to:  ***************
 
i = -9885
*/

Rubriques connexes