ECVT(3)

NOM
ecvt, fcvt - Convertir des nombres réels en chaînes de caractères

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 (consultez 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.

VOIR AUSSI
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

COLOPHON
Cette page fait partie de la publication 3.70 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 à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».