ecvt, fcvt - Convertir des nombres réels en chaînes de
caractères
Bibliothèque C standard (
libc,
-lc)
#include <stdlib.h>
[[obsolète]] char *ecvt(double number, int ndigits,
int *restrict decpt, int *restrict sign);
[[obsolète]] char *fcvt(double number, int ndigits,
int *restrict decpt, int *restrict sign);
ecvt(),
fcvt() :
Depuis la glibc 2.17
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 */ _SVID_SOURCE
De la glibc 2.12 à la glibc 2.16 :
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Avant la glibc 2.12 :
_SVID_SOURCE || _XOPEN_SOURCE >= 500
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.
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().
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
ecvt() |
Sécurité des threads |
MT-Unsafe race:ecvt |
fcvt() |
Sécurité des threads |
MT-Unsafe race:fcvt |
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).
Certaines localisations n'utilisent pas le point comme séparateur
décimal.
ecvt_r(3),
gcvt(3),
qecvt(3),
setlocale(3),
sprintf(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]