.\" -*- 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 "15 июня 2024 г." "Справочные страницы Linux 6.9.1" .SH НАИМЕНОВАНИЕ strfromd, strfromf, strfroml \- преобразуют значение с плавающей запятой в строку .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH ОБЗОР .nf \fB#include \fP .P \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 .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \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 символов. .P The terminating null byte ('\[rs]0') is written if and only if \fIn\fP is sufficiently large, otherwise the written string is truncated at \fIn\fP characters. .P Функции \fBstrfromd\fP(), \fBstrfromf\fP() и \fBstrfroml\fP() эквивалентны .P .in +4n .EX snprintf(str, n, format, fp); .EE .in .P не считая строки \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. .P Преобразователи применяются в соответствии с типом плавающей запятой, представленным суффиксом функции. В связи с этим, в отличии от \fBsnprintf\fP() строка формата не содержит символа модификатора длины. Подробное описание преобразователей смотрите в \fBsnprintf\fP(3). .P Для значений бесконечности и NaN реализация соответствует стандарту C99: .P .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». .P Если \fIfp\fP равно бесконечности, то она схожим образом преобразуется в [\-]inf или [\-]INF. .RE .P Некорректная строка \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 АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7) и разделе \fBPOSIX Safety Concepts\fP руководства библиотеки GNU C. .P .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBstrfromd\fP(), \fBstrfromf\fP(), \fBstrfroml\fP() T} Безвредность в нитях MT\-Safe locale \^ Async\-signal safety AS\-Unsafe heap \^ Безопасность асинхронной отмены AC\-Unsafe mem .TE .P Замечание: эти атрибуты только предварительны. .SH СТАНДАРТЫ ISO/IEC TS 18661\-1. .SH ВЕРСИИ .TP \fBstrfromd\fP() .TQ \fBstrfromf\fP() .TQ \fBstrfroml\fP() glibc 2.25. .SH ПРИМЕЧАНИЯ These functions take account of the \fBLC_NUMERIC\fP category of the current locale. .SH ПРИМЕРЫ Преобразует значение 12.1 с типом float в строку используя десятичное написание, равную «12.100000»: .P .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 .P Преобразует значение 12.3456 с типом float в строку используя десятичное написание с двумя цифрами точности, равную «12.35»: .P .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 .P Преобразует значение 12.345e19 с типом double в строку используя научное написание с нулевой точностью, равную «1E+20»: .P .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 , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .