1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) 2008 - INRIA
5 * ...
6 *
7 * Copyright (C) 2012 - 2016 - Scilab Enterprises
8 *
9 * This file is hereby licensed under the terms of the GNU GPL v2.0,
10 * pursuant to article 5.3.4 of the CeCILL v.2.1.
11 * This file was originally licensed under the terms of the CeCILL v2.1,
12 * and continues to be available under such terms.
13 * For more information, see the COPYING file which you should have received
14 * along with this program.
15 *
16 -->
17<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="scanf_conversion">
18    <refnamediv>
19        <refname>преобразование scanf</refname>
20        <refpurpose>
21            спецификации преобразования mscanf, msscanf, mfscanf
22        </refpurpose>
23    </refnamediv>
24    <refsection>
25        <title>Описание</title>
26        <para>
27            Каждая спецификация преобразования в параметре <varname>format</varname> содержит следующие элементы:
28        </para>
29        <itemizedlist>
30            <listitem>
31                <para>
32                    символ <literal>%</literal> (знак "процент");
33                </para>
34            </listitem>
35            <listitem>
36                <para>
37                    необязательный символ подавления присвоения <literal>*</literal> ("звёздочка");
38                </para>
39            </listitem>
40            <listitem>
41                <para>
42                    необязательное числовое значение максимальной ширины поля;
43                </para>
44            </listitem>
45            <listitem>
46                <para>
47                    код преобразования.
48                </para>
49            </listitem>
50        </itemizedlist>
51        <para>
52            Спецификация преобразования имеет следующий синтаксис:
53        </para>
54        <para>
55            <literal>[*][ширина][размер]код_преобразования</literal>.
56        </para>
57        <para>
58            Результаты преобразования помещаются в аргументы <varname>v_i</varname> если вы не укажете подавление присвоения с помощью символа <literal>*</literal> ("звёздочка"). Подавления присвоения предоставляет способ описать входное поле, которое следует пропустить. Входное поле является строкой символов-непробелов. Оно простирается до ближайшего некорректного символа или до тех пор, пока ширина поля, если она указана, не кончится.
59        </para>
60        <para>
61            Код преобразования указывает как интерпретировать входное поле. Вам не нужно указывать параметр <varname>v_i</varname> для подавленного поля. Вы можете использовать следующие коды преобразования:
62        </para>
63        <variablelist>
64            <varlistentry>
65                <term>%</term>
66                <listitem>
67                    <para>
68                        принимает отдельный символ <literal>%</literal> (знак "процент"), вводимый в этом месте; присвоение не делается.
69                    </para>
70                </listitem>
71            </varlistentry>
72            <varlistentry>
73                <term>d, i</term>
74                <listitem>
75                    <para>принимает десятичное целое число.</para>
76                </listitem>
77            </varlistentry>
78            <varlistentry>
79                <term>u</term>
80                <listitem>
81                    <para>принимает беззнаковое десятичное целое число.</para>
82                </listitem>
83            </varlistentry>
84            <varlistentry>
85                <term>o</term>
86                <listitem>
87                    <para>принимает восьмеричное целое число.</para>
88                </listitem>
89            </varlistentry>
90            <varlistentry>
91                <term>x</term>
92                <listitem>
93                    <para>принимает шестнадцатеричное целое число.</para>
94                </listitem>
95            </varlistentry>
96            <varlistentry>
97                <term>e, f, g</term>
98                <listitem>
99                    <para>
100                        принимает число с плавающей запятой. Следующее поле преобразуется соответствующим образом и сохраняется через соответствующий параметр, который должен быть указателем на число с плавающей запятой. Формат ввода для чисел с плавающей запятой является строкой цифр со следующими необязательными характеристиками:
101                    </para>
102                    <itemizedlist>
103                        <listitem>
104                            <para>
105                                это может быть значение со знаком;
106                            </para>
107                        </listitem>
108                        <listitem>
109                            <para>
110                                это может быть экспоненциальное значение, содержащее десятичную запятую, за которой следует экспоненциальное поле, которое состоит из <literal>E</literal> или <literal>e</literal>, за которым следует целое число (может быть со знаком);
111                            </para>
112                        </listitem>
113                        <listitem>
114                            <para>
115                                это может быть одно из специальных значений <constant>%inf</constant>, <constant>%nan</constant>.
116                            </para>
117                        </listitem>
118                    </itemizedlist>
119                </listitem>
120            </varlistentry>
121            <varlistentry>
122                <term>s</term>
123                <listitem>
124                    <para>принимает строку символов;</para>
125                </listitem>
126            </varlistentry>
127            <varlistentry>
128                <term>c</term>
129                <listitem>
130                    <para>
131                        ожидается символьное значение. Нормальный пропуск пробела подавляется.
132                    </para>
133                </listitem>
134            </varlistentry>
135            <varlistentry>
136                <term>%lg</term>
137                <listitem>
138                    <para>получает значение в виде числа удвоенной точности (double).</para>
139                </listitem>
140            </varlistentry>
141        </variablelist>
142    </refsection>
143    <refsection role="see also">
144        <title>Смотрите также</title>
145        <simplelist type="inline">
146            <member>
147                <link linkend="msscanf">msscanf</link>
148            </member>
149            <member>
150                <link linkend="mfscanf">mfscanf</link>
151            </member>
152            <member>
153                <link linkend="mscanf">mscanf</link>
154            </member>
155            <member>
156                <link linkend="printf_conversion">преобразование printf</link>
157            </member>
158        </simplelist>
159    </refsection>
160</refentry>
161
162