ecvt_r(3)

ecvt_r3

Convert a floating-point number to a string

Usage

#include <stdlib.h>

[[deprecated]] int ecvt_r(double number, int ndigits, int *restrict decpt, int *restrict sign, char *restrict buf, size_t size); [[deprecated]] int fcvt_r(double number, int ndigits, int *restrict decpt, int *restrict sign, char *restrict buf, size_t size);

[[deprecated]] int qecvt_r(long double number, int ndigits, int *restrict decpt, int *restrict sign, char *restrict buf, size_t size); [[deprecated]] int qfcvt_r(long double number, int ndigits, int *restrict decpt, int *restrict sign, char *restrict buf, size_t size);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

ecvt_r(), fcvt_r(), qecvt_r(), qfcvt_r():

    /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

Library

Standard C library (libc, -lc)

Overview

The functions ecvt_r(), fcvt_r(), qecvt_r(), and qfcvt_r() are identical to ecvt(3), fcvt(3), qecvt(3), and qfcvt(3), respectively, except that they do not return their result in a static buffer, but instead use the supplied buf of size size. See ecvt(3) and qecvt(3).

Return value

These functions return 0 on success, and -1 otherwise.

Attributes

For an explanation of the terms used in this section, see attributes(7).

InterfaceAttributeValue
ecvt_r(), fcvt_r(), qecvt_r(), qfcvt_r()Thread safetyMT-Safe

Notes

These functions are obsolete. Instead, sprintf(3) is recommended.

Releases

12 releases since Debian 3.1 (Sarge); the text changed 11 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 8
  7. 9
  8. 10
  9. 11
  10. 12
  11. 13
  12. Arch

Standards

GNU.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.