Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
strtod, strtof, strtold - Convertir une chaine ASCII en nombre a
virgule flottante
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 de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
strtof(), strtold() :
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L
ou cc -std=c99
DESCRIPTION
Les fonctions strtod(), strtof() et strtold() convertissent la portion
initiale de la chaine pointee par nptr en un reel de type double,
float, et long double respectivement.
La (portion initiale de la) chaine attendue est de la forme suivante :
des espaces eventuels en tete, ou des caracteres interpretes comme tels
par isspace(3), un eventuel signe plus (<< + >>) ou moins (<< - >>), et
ensuite soit (i) un nombre decimal, soit (ii) un nombre hexadecimal,
soit (iii) un infini, soit (iv) un non nombre NAN (not-a-number).
Un nombre d'ecimal consiste en une sequence non vide de chiffres
decimaux, pouvant contenir un point decimal (dependant de la
localisation, mais habituellement << . >>), suivi eventuellement d'un
exposant decimal. Ce dernier est constitue d'un << E >> ou << e >>
suivi eventuellement du signe plus ou du signe moins, puis une sequence
non vide de chiffres decimaux, indiquant la multiplication par une
puissance de 10.
Un nombre hexad'ecimal commence << 0x >> ou << 0X >>, suivi d'une
sequence non vide de chiffres hexadecimaux, pouvant contenir un point
decimal suivi eventuellement d'un exposant binaire. Ce dernier est
constitue d'un << P >> ou << p >> suivi eventuellement du signe plus ou
du signe moins, puis une sequence non vide de de chiffres decimaux,
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 differences entre majuscules et minuscules.
Un non-nombre est << NAN >> (sans differences majuscules/minuscules)
suivi eventuellement par << ( >>, une sequence de caracteres, et
<< ) >>. La chaine de caracteres indique le type de non nombre de
maniere dependant de l'implementation.
VALEUR RENVOY'EE
Ces fonctions renvoient la valeur convertie si c'est possible.
Si endptr n'est pas NULL, un pointeur sur le caractere suivant le
dernier caractere converti est stocke dans l'emplacement pointe par
endptr.
Si aucune conversion n'est possible, la fonction renvoie zero, et la
valeur de nptr est stockee dans endptr.
Si la valeur convertie declenche un debordement (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 declenche un
debordement inferieur (underflow), la fonction renvoie 0, et errno
contient le code d'erreur ERANGE.
ERREURS
ERANGE Debordement.
CONFORMIT'E
C89 decrit strtod(). C99 decrit les deux autres fonctions.
NOTES
Comme la valeur 0 peut legitimement etre renvoyee a la fois en cas de
succes et d'echec, le programme appelant doit positionner errno a 0
avant l'appel, et determiner si une erreur s'est produite en regardant
si errno a une valeur non nulle apres l'appel.
EXEMPLE
Consultez l'exemple dans la page de manuel strtol(3) ; l'utilisation
des fonctions decrites 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 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Nicolas
Francois et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.