<?xml version="1.0" encoding="UTF-8"?>

<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA
 * ...
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->

<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="ja" xml:id="scanf_conversion">

    <refnamediv>

        <refname>scanf_conversion</refname>

        <refpurpose>mscanf, msscanf, mfscanf 変換指定子</refpurpose>

    </refnamediv>

    <refsection>

        <title>説明</title>

        <para>

            <varname>format</varname>パラメータの各変換指定子には以下の要素が含まれます:

        </para>

        <itemizedlist>

            <listitem>

                <para>

                    <literal>%</literal>文字 (パーセント記号);

                </para>

            </listitem>

            <listitem>

                <para>

                    オプションの代入抑制文字 <literal>*</literal> (アスタリスク);

                </para>

            </listitem>

            <listitem>

                <para>

                    オプションの数値最大フィールド幅;

                </para>

            </listitem>

            <listitem>

                <para>

                    変換コード.

                </para>

            </listitem>

        </itemizedlist>

        <para>

            変換指定子は以下のような構文となります:

        </para>

        <para>

            <literal>[*][width][size]convcode</literal>.

        </para>

        <para>

            変換の結果は,代入禁止を<literal>*</literal>(アスタリスク)で指定しない限り,

            <varname>v_i</varname>引数に代入されます.

            代入禁止により入力フィールドをスキップできるようになります.

            入力フィールドは非空白文字の文字列です.

            次の不適切な文字まで,またはフィールド幅が指定された場合には

            これがあふれた場合に拡張されます.

        </para>

        <para>

            変換コードは入力フィールドの解釈の方法を指定します.

            代入禁止されたフィールドの<varname>v_i</varname>パラメータを指定する

            必要はありません.

            以下の変換コードを使用することが可能です:

        </para>

        <variablelist>

            <varlistentry>

                <term>%</term>

                <listitem>

                    <para>

                        ここまでは1個の<literal>%</literal> (パーセント記号)入力; 代入は行われません.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>d, i</term>

                <listitem>

                    <para>10進整数を取得します.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>u</term>

                <listitem>

                    <para>符号なしの10進整数を取得します.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>o</term>

                <listitem>

                    <para>8進整数を取得します.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>x</term>

                <listitem>

                    <para>16進整数を取得します.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>e, f, g</term>

                <listitem>

                    <para>

                        浮動小数点数を取得します.

                        次のフィールドは同時に変換され,

                        対応するパラメータは保存されます.これは,

                        float へのポインタである必要があります.

                        浮動小数点数の入力形式は数値の文字列で,以下のオプションの文字を

                        指定できます:

                    </para>

                    <itemizedlist>

                        <listitem>

                            <para>

                                以下の符号付きの値とすることができます;

                            </para>

                        </listitem>

                        <listitem>

                            <para>

                                小数点の後に指数フィールドを指定することで,

                                指数の値とすることができます,.

                                指数フィールドは,<literal>E</literal> または <literal>e</literal>

                                の後に(オプションで符号付きの)整数を続けます;

                            </para>

                        </listitem>

                        <listitem>

                            <para>

                                特殊な値

                                <constant>%inf</constant>, <constant>%nan</constant>のどちらかと

                                することができます;

                            </para>

                        </listitem>

                    </itemizedlist>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>s</term>

                <listitem>

                    <para>文字列を取得します.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>c</term>

                <listitem>

                    <para>

                        文字の値を取得します. 空白文字をまたがるスキップ処理は禁止されます.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>%lg</term>

                <listitem>

                    <para>doubleとして値を取得.</para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection role="see also">

        <title>参照</title>

        <simplelist type="inline">

            <member>

                <link linkend="msscanf">msscanf</link>

            </member>

            <member>

                <link linkend="mfscanf">mfscanf</link>

            </member>

            <member>

                <link linkend="mscanf">mscanf</link>

            </member>

            <member>

                <link linkend="printf_conversion">printf_conversion</link>

            </member>

        </simplelist>

    </refsection>

</refentry>

