strfromd(3) Library Functions Manual strfromd(3) NOM strfromd, strfromf, strfroml - Convertir des nombres en virgule flottante en chaines de caracteres BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int strfromd(char str[restrict .n], size_t n, const char *restrict format, double fp); int strfromf(char str[restrict .n], size_t n, const char *restrict format, float fp); int strfroml(char str[restrict .n], size_t n, const char *restrict format, long double fp); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : strfromd(), strfromf(), strfroml() : __STDC_WANT_IEC_60559_BFP_EXT__ DESCRIPTION Ces fonctions convertissent une valeur en virgule flottante, fp, en une chaine de caracteres, str, selon une chaine configurable format. Au plus n caracteres sont ecrits dans str. L'octet NULL final (<< \0 >>) est ecrit si et seulement si n est suffisamment grand, autrement la chaine ecrite est tronquee a n caracteres. Les fonctions strfromd(), strfromf() et strfroml() sont equivalentes a : snprintf(str, n, format, fp); excepte pour la chaine format. CHAINE DE FORMAT La chaine format doit debuter par le caractere << % >>. Il est suivi d'une precision optionnelle qui commence au caractere point (.), suivie d'un entier optionnel en base decimale. Si aucun entier n'est donne apres le caractere point, une precision de zero est utilisee. Enfin, la chaine de formatage doit contenir un des indicateurs de conversion a, A, e, E, f, F, g ou G. L'indicateur de conversion est applique en se basant sur le type de virgule flottante indique par le suffixe de la fonction. Ainsi, et a la difference de snprintf(), la chaine de formatage ne contient pas de caractere de modification de longueur. Consultez snprintf(3) pour une description detaillee de ces indicateurs de conversion. L'implementation est conforme a la norme C99 concernant la conversion de NaN et de valeurs infinies : Si fp est NaN, +NaN ou -NaN et f (ou a, e, g) est l'indicateur de conversion, la conversion se fait vers << nan >>, << nan >> ou << -nan >> respectivement. Si F (ou A, E, G) est l'indicateur de conversion, la conversion est alors faite vers << NAN >> ou << -NAN >>. De meme si fp est infini, il est converti en [-]inf ou [-]INF. Une chaine format malformee entraine un comportement non defini. VALEUR RENVOYEE Les fonctions strfromd(), strfromf() et strfroml() renvoient le nombre de caracteres qui aurait ete ecrits dans str si n avait eu assez d'espace, sans compter l'octet NULL final. Ainsi, une valeur de retour de n ou plus signifie que la sortie a ete tronquee. ATTRIBUTS Pour une explication des termes utilises dans cette section, consultez attributes(7) et la section POSIX Safety Concepts dans le manuel de la Bibliotheque C GNU. +------------------------+----------------------------+----------------+ |Interface | Attribut | Valeur | +------------------------+----------------------------+----------------+ |strfromd(), strfromf(), | Securite des threads | MT-Safe locale | |strfroml() | | | + +----------------------------+----------------+ | | Securite signaux async | AS-Unsafe heap | + +----------------------------+----------------+ | | Securite signaux async | AC-Unsafe mem | +------------------------+----------------------------+----------------+ Note : ces attributs sont preliminaires STANDARDS ISO/IEC TS 18661-1. VERSIONS strfromd() strfromf() strfroml() glibc 2.25. NOTES These functions take account of the LC_NUMERIC category of the current locale. EXEMPLES Pour convertir la valeur 12.1 en tant que type flottant en une chaine utilisant la notation decimale, resultant en << 12.100000 >> : #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%f", 12.1); Pour convertir la valeur 12.3456 en tant que type flottant en une chaine utilisant la notation decimale avec une precision de deux chiffres apres la virgule, resultant en << 12.35 >> : #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%.2f", 12.3456); Pour convertir la valeur 12.345e19 en tant que type double en une chaine utilisant la notation scientifique avec aucun chiffre apres la virgule, resultant en << 1E+20 >> : #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromd(s, ssize, "%.E", 12.345e19); VOIR AUSSI atof(3), snprintf(3), strtod(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Gregoire Scano Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 strfromd(3)