Fonctions atoi, atol et atof

Entête à inclure

#include <stdlib.h>  // <cstdlib> en C++

Fonctions atoi, atol et atof

int atoi( const char * theString); 
long atol( const char * theString); 
double atof( const char * theString); 

Ces trois fonctions permettent de transformer une chaîne de caractères contenant la description d'une valeur numérique en une données de type numérique. Les trois noms de fonctions sont en fait des acronymes signifiant : ASCII to integer, ASCII to long et ASCII to float.

On peut ainsi convertir de chaînes en entiers (atoi), en entiers longs (atol) et en flottants double précision (atof).

Paramètres

  • theString : ce paramètre contient la chaîne de caractères à convertir.

Valeur de retour

Dans les trois cas, ces fonctions renvoient la valeur numèrique calculèe à partir de la chaîne de caractère. Le type de la valeur retournée sera bien entendu dépendant de la fonction invoquée.

Exemple de code

#include <stdio.h>          
#include <stdlib.h>


int main( int argc, char * argv[] ) {
    
    int sum = 0;

    /* Doit-on afficher l'usage de la commande */
    if ( argc == 1 ) {
        printf( "Usage: %s intValue ...\n", argv[0] );
        exit( EXIT_SUCCESS );
    }

    /* On passe le nom de l'exécutable */
    argc--;   argv++;

    /* On somme toutes les valeurs saisies */
    while ( argc != 0 ) {
        sum += atoi( *argv++ );

        argc--;
    }

    /* Et on affiche le résultat */
    printf( "La somme des entiers saisies est de %d\n", sum );

    return EXIT_SUCCESS;
}

Sujets connexes