.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2016, IBM Corporation. .\" Written by Wainer dos Santos Moschetta .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" glibc 2.25 source code and manual. .\" C99 standard document. .\" ISO/IEC TS 18661-1 technical specification. .\" snprintf and other man.3 pages. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strfromd 3 "5 февраля 2023 г." "Linux man\-pages 6.03" .SH ИМЯ strfromd, strfromf, strfroml \- преобразуют значение с плавающей запятой в строку .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint strfromd(char \fP\fIstr\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, double \fP\fIfp\fP\fB);\fP \fBint strfromf(char \fP\fIstr\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, float \fP\fIfp\fP\fB);\fP \fBint strfroml(char \fP\fIstr\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, long double \fP\fIfp\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBstrfromd\fP(), \fBstrfromf\fP(), \fBstrfroml\fP(): .nf __STDC_WANT_IEC_60559_BFP_EXT__ .fi .SH ОПИСАНИЕ Данные функции преобразуют значение с плавающей запятой \fIfp\fP в строку символов \fIstr\fP в соответствии со строкой формата \fIformat\fP. В \fIstr\fP записывается не более \fIn\fP символов. .PP The terminating null byte ('\e0') is written if and only if \fIn\fP is sufficiently large, otherwise the written string is truncated at \fIn\fP characters. .PP Функции \fBstrfromd\fP(), \fBstrfromf\fP() и \fBstrfroml\fP() эквивалентны .PP .in +4n .EX snprintf(str, n, format, fp); .EE .in .PP не считая строки \fIformat\fP. .SS "Структура строки формата" The \fIformat\fP string must start with the character \[aq]%\[aq]. 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 \fBa\fP, \fBA\fP, \fBe\fP, \fBE\fP, \fBf\fP, \fBF\fP, \fBg\fP, or \fBG\fP. .PP Преобразователи применяются в соответствии с типом плавающей запятой, представленным суффиксом функции. В связи с этим, в отличии от \fBsnprintf\fP() строка формата не содержит символа модификатора длины. Подробное описание преобразователей смотрите в \fBsnprintf\fP(3). .PP Для значений бесконечности и NaN реализация соответствует стандарту C99: .PP .RS Если \fIfp\fP равно NaN, +NaN или \-NaN и указан преобразователь \fBf\fP (или \fBa\fP, \fBe\fP, \fBg\fP), то выполняется преобразование в «nan», «nan» или «\-nan», соответственно. Если указан преобразователь \fBF\fP (или \fBA\fP, \fBE\fP, \fBG\fP), то выполняется преобразование в «NAN» или «\-NAN». .PP Если \fIfp\fP равно бесконечности, то она схожим образом преобразуется в [\-]inf или [\-]INF. .RE .PP Некорректная строка \fIformat\fP вызывает непредсказуемое поведение. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" The \fBstrfromd\fP(), \fBstrfromf\fP(), and \fBstrfroml\fP() functions return the number of characters that would have been written in \fIstr\fP if \fIn\fP had enough space, not counting the terminating null byte. Thus, a return value of \fIn\fP or greater means that the output was truncated. .SH ВЕРСИИ The \fBstrfromd\fP(), \fBstrfromf\fP(), and \fBstrfroml\fP() functions are available since glibc 2.25. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7) и разделе \fBPOSIX Safety Concepts\fP руководства библиотеки GNU C. .PP .ad l .nh .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ \fBstrfromd\fP(), \fBstrfromf\fP(), \fBstrfroml\fP() T} Безвредность в нитях MT\-Safe locale \^ Async\-signal safety AS\-Unsafe heap \^ Async\-cancel safety AC\-Unsafe mem .TE .hy .ad .sp 1 Замечание: эти атрибуты только предварительны. .SH СТАНДАРТЫ C99, ISO/IEC TS 18661\-1. .SH ЗАМЕЧАНИЯ Функции \fBstrfromd\fP(), \fBstrfromf\fP() и \fBstrfroml\fP() учитывают категорию \fBLC_NUMERIC\fP текущей локали. .SH ПРИМЕРЫ Преобразует значение 12.1 с типом float в строку используя десятичное написание, равную «12.100000»: .PP .in +4n .EX #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%f", 12.1); .EE .in .PP Преобразует значение 12.3456 с типом float в строку используя десятичное написание с двумя цифрами точности, равную «12.35»: .PP .in +4n .EX #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromf(s, ssize, "%.2f", 12.3456); .EE .in .PP Преобразует значение 12.345e19 с типом double в строку используя научное написание с нулевой точностью, равную «1E+20»: .PP .in +4n .EX #define __STDC_WANT_IEC_60559_BFP_EXT__ #include int ssize = 10; char s[ssize]; strfromd(s, ssize, "%.E", 12.345e19); .EE .in .SH "СМ. ТАКЖЕ" \fBatof\fP(3), \fBsnprintf\fP(3), \fBstrtod\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .