Provided by: manpages-fr-dev_2.80.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);
       float strtof(const char *nptr, char **endptr);
       long double strtold(const char *nptr, char **endptr);

   Exigences  pour les macros de test de fonctionnalité de la glibc (consultez
   feature_test_macros(7)) :

       strtof(),  strtold() :  _XOPEN_SOURCE >= 600  ||  _ISOC99_SOURCE ;   ou
       cc -std=c99

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  dcimal  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  chiffres  décimaux,  indiquant  la  multiplication  par   une
       puissance de 10.

       Un  nombre  hexadcimal 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 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 contient
       le  code  d’erreur  ERANGE.  Si  la  valeur  convertie   déclenche   un
       débordement  inférieur  (underflow),  la  fonction  renvoie 0, et errno
       contient 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.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  2.80  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

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@centraliens.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> ».