fcvt(3) Convertir des nombres réels en chaînes de caractères

Other Alias

ecvt

SYNOPSIS

#include <stdlib.h>

char *ecvt(double number, int ndigits, int *decpt, int *sign);

char *fcvt(double number, int ndigits, int *decpt, int *sign);

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

ecvt(), fcvt() :

Depuis la glibc 2.12 :


_SVID_SOURCE ||
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)

Avant la glibc 2.12 :
_SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION

La fonction ecvt() convertit number en une chaîne de caractères terminée par un caractère nul, de ndigits chiffres (ndigits étant limité par une valeur spécifique au système, déterminée par la précision d'un double). La fonction renvoie un pointeur sur cette chaîne. Le chiffre d'ordre le plus élevé est non nul, sauf si number vaut zéro. Le chiffre d'ordre le plus faible est arrondi. La chaîne elle-même ne contient pas de point décimal, néanmoins la position du point décimal relativement au début de la chaîne est stockée dans *decpt. Une valeur négative de *decpt signifie que le point décimal est à gauche du début de la chaîne. Si le signe de number est négatif, *sign est défini avec une valeur non nulle, sinon il est mis à 0. Si number est nul, il n'est pas précisé si *decpt vaut zéro ou un.

La fonction fcvt() est identique à ecvt(), à la différence que ndigits indique le nombre de décimales après la virgule.

VALEUR RENVOYÉE

Les deux fonctions ecvt() et fcvt() renvoient un pointeur sur une chaîne de caractères statique contenant la représentation ASCII de number. La chaîne statique est écrasée à chaque appel de ecvt() ou fcvt().

ATTRIBUTS

Multithreading (voir pthreads(7))

Les fonctions ecvt() et fcvt() ne sont pas sûres dans un contexte multithread.

CONFORMITÉ

SVr2, marqué comme « LEGACY » dans POSIX.1-2001. POSIX.1-2008 supprime les spécifications de ecvt() et fcvt() et recommande à la place l'utilisation de sprintf(3) (bien que snprintf(3) soit préférable).

NOTES

Les bibliothèques Linux, libc4 et libc5, déclaraient le type de ndigits en size_t et certaines localisations n'utilisent pas le point comme séparateur décimal.

COLOPHON

Cette page fait partie de la publication 3.65 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

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <[email protected]> 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> ».