.\" Copyright (C) 2002 Andries Brouwer .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" This replaces an earlier man page written by Walter Harms .\" . .\" .\" Corrected return types; from Fabian; 2004-10-05 .\" .TH ECVT_R 3 2021-03-22 "GNU" "Linux Programmer's Manual" .SH NAME ecvt_r, fcvt_r, qecvt_r, qfcvt_r \- convert a floating-point number to a string .SH SYNOPSIS .nf .B #include .PP .BI "int ecvt_r(double " number ", int " ndigits ", int *restrict " decpt , .BI " int *restrict " sign ", char *restrict " buf ", size_t " len ); .BI "int fcvt_r(double " number ", int " ndigits ", int *restrict " decpt , .BI " int *restrict " sign ", char *restrict " buf ", size_t " len ); .PP .BI "int qecvt_r(long double " number ", int " ndigits \ ", int *restrict " decpt , .BI " int *restrict " sign ", char *restrict " buf ", size_t " len ); .BI "int qfcvt_r(long double " number ", int " ndigits \ ", int *restrict " decpt , .BI " int *restrict " sign ", char *restrict " buf ", size_t " len ); .fi .PP .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .PP .BR ecvt_r (), .BR fcvt_r (), .BR qecvt_r (), .BR qfcvt_r (): .nf /* Glibc since 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .SH DESCRIPTION The functions .BR ecvt_r (), .BR fcvt_r (), .BR qecvt_r (), and .BR qfcvt_r () are identical to .BR ecvt (3), .BR fcvt (3), .BR qecvt (3), and .BR qfcvt (3), respectively, except that they do not return their result in a static buffer, but instead use the supplied .I buf of size .IR len . See .BR ecvt (3) and .BR qecvt (3). .SH RETURN VALUE These functions return 0 on success, and \-1 otherwise. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .ad l .nh .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .BR ecvt_r (), .BR fcvt_r (), .BR qecvt_r (), .BR qfcvt_r () T} Thread safety MT-Safe .TE .hy .ad .sp 1 .SH CONFORMING TO These functions are GNU extensions. .SH NOTES These functions are obsolete. Instead, .BR sprintf (3) is recommended. .SH SEE ALSO .BR ecvt (3), .BR qecvt (3), .BR sprintf (3)