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