Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       strfromd, strfromf, strfroml - преобразуют значение с плавающей запятой в строку

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <stdlib.h>

       int strfromd(char str[restrict .n], size_t n,
                    const char *restrict format, double fp);
       int strfromf(char str[restrict .n], size_t n,
                    const char *restrict format, float fp);
       int strfroml(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. В str записывается не более n символов.

       The terminating null byte ('\0') is written if and only if n is sufficiently large, otherwise the written
       string is truncated at n characters.

       Функции strfromd(), strfromf() и strfroml() эквивалентны

           snprintf(str, n, format, fp);

       не считая строки format.

   Структура строки формата
       The format string must start with the character '%'.  This is followed by  an  optional  precision  which
       starts  with  the  period  character  (.),  followed  by  an  optional decimal integer.  If no integer is
       specified after the period character, a precision of zero is used.  Finally,  the  format  string  should
       have one of the conversion specifiers a, A, e, E, f, F, g, or G.

       Преобразователи применяются в соответствии с типом плавающей запятой, представленным суффиксом функции. В
       связи  с  этим,  в отличии от snprintf() строка формата не содержит символа модификатора длины. Подробное
       описание преобразователей смотрите в snprintf(3).

       Для значений бесконечности и NaN реализация соответствует стандарту C99:

              Если fp равно NaN, +NaN или -NaN и  указан  преобразователь  f  (или  a,  e,  g),  то  выполняется
              преобразование в «nan», «nan» или «-nan», соответственно. Если указан преобразователь F (или A, E,
              G), то выполняется преобразование в «NAN» или «-NAN».

              Если fp равно бесконечности, то она схожим образом преобразуется в [-]inf или [-]INF.

       Некорректная строка format вызывает непредсказуемое поведение.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       The  strfromd(),  strfromf(),  and  strfroml()  functions return the number of characters that would have
       been written in str if n had enough space, not counting the terminating null byte.  Thus, a return  value
       of n or greater means that the output was truncated.

АТРИБУТЫ

       Описание  терминов  данного  раздела смотрите в attributes(7) и разделе POSIX Safety Concepts руководства
       библиотеки GNU C.

       ┌────────────────────────────────────────────────────┬─────────────────────────────────┬────────────────┐
       │ ИнтерфейсАтрибутЗначение       │
       ├────────────────────────────────────────────────────┼─────────────────────────────────┼────────────────┤
       │                                                    │ Безвредность в нитях            │ MT-Safe locale │
       │                                                    ├─────────────────────────────────┼────────────────┤
       │ strfromd(), strfromf(), strfroml()                 │ Async-signal safety             │ AS-Unsafe heap │
       │                                                    ├─────────────────────────────────┼────────────────┤
       │                                                    │ Безопасность асинхронной отмены │ AC-Unsafe mem  │
       └────────────────────────────────────────────────────┴─────────────────────────────────┴────────────────┘

       Замечание: эти атрибуты только предварительны.

СТАНДАРТЫ

       ISO/IEC TS 18661-1.

ВЕРСИИ

       strfromd()
       strfromf()
       strfroml()
              glibc 2.25.

ПРИМЕЧАНИЯ

       These functions take account of the LC_NUMERIC category of the current locale.

ПРИМЕРЫ

       Преобразует значение 12.1 с типом float в строку используя десятичное написание, равную «12.100000»:

           #define __STDC_WANT_IEC_60559_BFP_EXT__
           #include <stdlib.h>
           int ssize = 10;
           char s[ssize];
           strfromf(s, ssize, "%f", 12.1);

       Преобразует значение 12.3456 с типом float в  строку  используя  десятичное  написание  с  двумя  цифрами
       точности, равную «12.35»:

           #define __STDC_WANT_IEC_60559_BFP_EXT__
           #include <stdlib.h>
           int ssize = 10;
           char s[ssize];
           strfromf(s, ssize, "%.2f", 12.3456);

       Преобразует  значение  12.345e19 с типом double в строку используя научное написание с нулевой точностью,
       равную «1E+20»:

           #define __STDC_WANT_IEC_60559_BFP_EXT__
           #include <stdlib.h>
           int ssize = 10;
           char s[ssize];
           strfromd(s, ssize, "%.E", 12.345e19);

СМОТРИТЕ ТАКЖЕ

       atof(3), snprintf(3), strtod(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства разработал(и)  Alexander  Golubev  <fatzer2@gmail.com>,  Azamat
       Hackimov   <azamat.hackimov@gmail.com>,   Hotellook,   Nikita   <zxcvbnm3230@mail.ru>,  Spiros  Georgaras
       <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov  <yuray@komyakino.ru>,  Иван  Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                  15 июня 2024 г.                                     strfromd(3)