_gcvt() — Convert Floating-Point to String
Format
#include <stdlib.h>
char *_gcvt(double value, int ndec, char *buffer);_gcvt function is supported
only for C++, not for C.Threadsafe
Yes
Language Level
Extension
Locale Sensitive
The behavior of this function might be affected by the LC_CTYPE and LC_NUMERIC categories of the current locale. For more information, see Understanding CCSIDs and Locales.
Description
_gcvt() converts
a floating-point value to a character string pointed to by buffer.
The buffer should be large enough to hold
the converted value and a null character (\0) that _gcvt() automatically
adds to the end of the string. There is no provision for overflow.
_gcvt() attempts to produce ndec significant
digits in FORTRAN F format. Failing that, it produces ndec significant
digits in FORTRAN E format. Trailing zeros might be suppressed in
the conversion if they are insignificant.
_gcvt also converts infinity values to
the string INFINITY.
Return Value
_gcvt() returns
a pointer to the string of digits. If it cannot allocate memory to
perform the conversion, _gcvt() returns an empty
string and sets errno to ENOMEM.
Example
buffer1. #include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buffer1[10];
_gcvt(-3.1415e3, 7, buffer1);
printf("The first result is %s \n", buffer1);
return 0;
}The output should be: The first result is -3141.5