Provided by: manpages-fr-dev_2.45.1-1_all bug
 

NOM

        strtod, strtof, strtold - Convertir une chaîne ASCII en nombre réel
 

SYNOPSIS

        #include <stdlib.h>
 
        double strtod(const char *nptr, char **endptr);
 
        #define _XOPEN_SOURCE 600 /* ou #define _ISOC99_SOURCE */
        #include <stdlib.h>
 
        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étés comme tels
        par  isspace(3),  un  éventuel  signe plus (« + ») ou moins (« - »), et
        ensuite soit (i) un nombre décimal, soit (ii)  un  nombre  hexadécimal,
        soit (iii) un infini, soit (iv) 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  localisa‐
        tion,  mais  habituellement  « . »), suivi éventuellement d’un exposant
        décimal. Ce dernier est constitué d’un « E » ou « e » suivi éventuelle‐
        ment  du  signe  plus  ou du signe moins, puis une séquence non vide 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épen‐
        dant de l’implémentation.
        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 est stocké  dans  l’emplacement  pointé  par
        endptr.
 
        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 con‐
        tient le code d’erreur ERANGE. Si  la  valeur  convertie  déclenche  un
        débordement inférieur (underflow), la fonction renvoie 0, et errno con‐
        tient le code d’erreur ERANGE.
 

ERREURS

        ERANGE Débordement.
 

CONFORMIT

        C89 décrit strtod(). C99 décrit les deux autres fonctions.
 

NOTES

        Comme la valeur 0 peut légitimement être renvoyée à la fois en  cas  de
        succès  et  d’échec,  le  programme appelant doit positionner errno à 0
        avant l’appel, et déterminer si une erreur s’est produite en  regardant
        si errno a une valeur non nulle après l’appel.
 

EXEMPLE

        Voyez  l’exemple  dans  la page de manuel strtol(3) ; l’utilisation des
        fonctions décrites dans cette page de manuel est identique.
        atof(3),    atoi(3),    atol(3),    strtol(3),     strtoul(3),     fea     
        ture_test_macros(7)
 

TRADUCTION

        Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
        Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
        Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
        disposition sur http://manpagesfr.free.fr/.
 
        Les mises à jour et corrections de la version présente dans Debian sont
        directement   gérées   par   Nicolas   François  <nicolas.francois@cen‐
        traliens.net> et l’équipe francophone de traduction de Debian.
 
        Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
        <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
        paquet manpages-fr.
 
        Vous pouvez toujours avoir accès à la version anglaise de  ce  document
        en utilisant la commande « man -L C <section> <page_de_man> ».