Retour Suite Index

8.6.3. Les fonctions de <stdlib>

La bibliothèque <stdlib> contient des déclarations de fonctions pour la conversion de nombres en chaînes de caractères et vice-versa.

Chaîne --> Nombre

Les trois fonctions définies ci-dessous correspondent au standard ANSI-C et sont portables. Le symbole <s> peut être remplacé par :

Conversion de chaînes de caractères en nombres

atoi(<s>)

retourne la valeur numérique représentée par <s> comme int

atol(<s>)
retourne la valeur numérique représentée par <s> comme long

atof(<s>)
retourne la valeur numérique représentée par <s> comme double (!)

Règles générales pour la conversion:

Nombre --> Chaîne

Le standard ANSI-C ne contient pas de fonctions pour convertir des nombres en chaînes de caractères. Si on se limite aux systèmes fonctionnant sous DOS, on peut quand même utiliser les fonctions itoa, ltoa et ultoa qui convertissent des entiers en chaînes de caractères.

Conversion de nombres en chaînes de caractères

No Ansi

itoa (<n_int>, <s>, <b>)

ltoa (<n_long>, <s>, <b>)

ultoa (<n_uns_long>, <s>, <b>)

Chacune de ces trois procédures convertit son premier argument en une chaîne de caractères qui sera ensuite attribuée à <s>. La conversion se fait dans la base <b>.




<n_int>

est un nombre du type int

<n_long>
est un nombre du type long

<n_uns_long>
est un nombre du type unsigned long

<s>
est une chaîne de caractères


longueur maximale de la chaîne: 17 resp. 33 byte

<b>
est la base pour la conversion (2 ... 36)

Remarque avancée Remarque avancée

En ANSI-C il existe la possibilité d'employer la fonction sprintf pour copier des données formatées dans une variable de la même façon que printf les imprime à l'écran.

Syntaxe:


        sprintf( <chaîne cible>, <chaîne de formatage>, <expr1>, <expr2>, . . . )

Retour Suite Index