ecvt(3) | Library Functions Manual | ecvt(3) |
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.
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>
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 à debian-l10n-french@lists.debian.org.
5 février 2023 | Pages du manuel de Linux 6.03 |