zion -  strtod


Nom

strtod, strtof, strtold - Conversion d'une chaîne ASCII en nombre réel.

Résumé

#include <stdlib.h> double strtod (const char * nptr , char ** endptr ); float strtof(const char * nptr , char ** endptr ); long double strtold(const char * nptr , char ** endptr );

Description

Les fonctions strtod , strtof , et strtold convertissent la portion initiale de la chaîne pointée par nptr en un réel de type double , float , et long double respectivement. La (portion initiale de la) chaîne attendue est de la forme suivante :
    Des espaces éventuels en tête, ou des caractères interprétes comme tels par isspace(3)

    Un éventuel signe plus (``+'') ou moins (``-'')

    Un nombre décimal ou hexadécimal, ou un infini, ou encore un non-nombre NAN (not-a-number).

 
  Un nombre décimal consiste en une séquence non-vide de chiffres décimaux, pouvant contenir un point décimal (dépendant de la localisation, mais habituellement ``.''), suivi éventuellement d'un exposant décimal. Ce dernier est constitué d'un ``E'' ou ``e'' suivi éventuellement du signe plus ou du signe moins, puis une séquence non-vide de de chiffres décimaux, indiquant la multiplication par une puissance de 10.
 
  Un nombre hexadécimal commence ``0x'' ou ``0X'', suivi d'une séquence non-vide de chiffres hexadécimaux, pouvant contenir un point décimal suivi éventuellement d'un exposant binaire. Ce dernier est constitué d'un ``P'' ou ``p'' suivi éventuellement du signe plus ou du signe moins, puis une séquence non-vide de de chiffres décimaux, indiquant la multiplication par une puissance de 2. Il ne peut y avoir plus d'un point ou d'un exposant binaire.
 
  Un infini est soit ``INF'', soit ``INFINITY'', sans tenir compte des différences entre majuscules et minuscules.
 
  Un non-nombre est ``NAN'' (sans différences majuscules/minuscules) suivi éventuellement par `(', une séquence de caractères, et `)'. La chaîne de caractères indique le type de non-nombre de manière dépendant de l'implémentation.

Valeur renvoyée

Ces fonctions renvoient la valeur convertie si c'est possible Si endptr n'est pas NULL , un pointeur sur le caractère suivant le dernier caractère converti y est stocké. Si aucune conversion n'est possible, la fonction renvoie zéro, et la valeur de nptr est stockée dans endptr . Si la valeur convertie déclenche un débordement (overflow), la fonction renvoie plus ou moins HUGE_VAL ( HUGE_VALF , HUGE_VALL ) et errno contient le code d'erreur ERANGE . Si la valeur convertie déclenche un debordement inférieur (underflow), la fonction renvoie 0, et errno contient le code d'erreur ERANGE .

Erreurs

ERANGE
    Débordement.


Conformité

ANSI C décrit strtod . C99 décrit les deux autres fonctions.

Voir aussi

atof (3), atoi (3), atol (3), strtol (3), strtoul (3)

Traduction

Christophe Blaess, 1996-2003.

Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?