strfromd(3) Library Functions Manual strfromd(3) strfromd, strfromf, strfroml - (libc -lc) #include int strfromd(size_t n; char str[restrict n], size_t n, const char *restrict format, double fp); int strfromf(size_t n; char str[restrict n], size_t n, const char *restrict format, float fp); int strfroml(size_t n; char str[restrict n], size_t n, const char *restrict format, long double fp); glibc ( feature_test_macros(7)): strfromd() strfromf() strfroml(): __STDC_WANT_IEC_60559_BFP_EXT__ fp str format . n str. ('\0') n n . strfromd() strfromf() strfroml() snprintf(str, n, format, fp); format. format '%'. (.) . . a A e E f F g G. . snprintf() . snprintf(3) . C99 NaN : fp NaN +NaN -NaN f ( a e g) "nan" "nan" "-nan" . F ( A E G) "NAN" "-NAN". fp [-]inf [-]INF. format . strfromd() strfromf() strfroml() str n . n . attributes(7) POSIX Safety Concepts GNU C. +----------------------+--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | | | | +----------------------+--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |strfromd(), | | (locale) (MT-Safe) | |strfromf(), | | | |strfroml() | | | + +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | | | AS-Unsafe heap | + +--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | | | AC-Unsafe mem | +----------------------+--------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ : . ISO/IEC TS 18661-1. strfromd() strfromf() strfroml() glibc 2.25. LC_NUMERIC . 12.1 "12.100000": #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%f", 12.1); 12.3456 "12.35": #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%.2f", 12.3456); 12.345e19 "1E+20": #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromd(s, ssize, "%.E", 12.345e19); atof(3), snprintf(3), strtod(3) 3 . . : . 6.18 8 2026 strfromd(3)