Man page - strfromd(3)

Packages contains this manual

Available languages:

en fr ru ro

Manual

strfromd

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
Структура строки формата
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
АТРИБУТЫ
СТАНДАРТЫ
ВЕРСИИ
ПРИМЕЧАНИЯ
ПРИМЕРЫ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

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

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.

Image grohtml-623811-1.png

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

СТАНДАРТЫ

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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

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