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

<!--
 * Scilab ( http://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:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="mget" xml:lang="ja">

    <refnamediv>

        <refname>mget</refname>

        <refpurpose>

            指定したバイナリ形式で

            バイトまたはワードを読み込み, double に変換

        </refpurpose>

    </refnamediv>

    <refnamediv xml:id="mgeti">

        <refname>mgeti</refname>

        <refpurpose>

            指定したバイナリ形式で

            バイトまたはワードを読み込み, int型に変換

        </refpurpose>

    </refnamediv>

    <refsynopsisdiv>

        <title>呼び出し手順</title>

        <synopsis>

            x = mget([n, type, fd])

            x = mgeti([n, type, fd])

        </synopsis>

    </refsynopsisdiv>

    <refsection>

        <title>引数</title>

        <variablelist>

            <varlistentry>

                <term>n</term>

                <listitem>

                    <para>正のスカラー: 読み込むデータの数.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>fd</term>

                <listitem>

                    <para>

                        スカラー:

                        <function>mopen</function>により返されたファイル記述子.

                        <literal>-1</literal>は直近にオープンされたファイルを意味します.

                        デフォルト値は<literal>-1</literal>です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>type</term>

                <listitem>

                    <para>

                        文字列: <varname>x</varname>の全エントリを書き込むために使用する

                        バイナリフォーマットを指定.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>x</term>

                <listitem>

                    <para>浮動小数点数または整数値のベクトル</para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection>

        <title>説明</title>

        <para>

            <function>mget</function> 関数は,

            ストリームパラメータ<varname>fd</varname>により指定された入力の

            データを読み込み,浮動小数点数データのベクトルを返します.

        </para>

        <para>

            <function>mgeti</function> 関数は,

            ストリームパラメータ<varname>fd</varname>により指定された入力の

            データを読み込み,整数データのベクトルを返します.

        </para>

        <para>

            ファイルポインタが現在指している場所からデータが読み込まれ,

            適当にインジケータが進まされます.

        </para>

        <para>

            <varname>type</varname>パラメータは変換指定子で,

            以下のフラグ文字のどれか (デフォルト値は<literal>"l"</literal>)を設定できます:

        </para>

        <para>

            <note>

                Windowsにおけるデフォルトの動作では,バイト13

                (<literal>0x0D</literal>)をスキップします.

                <literal>'b'</literal>を指定して<function>mopen</function>を

                コールする必要があります.

                例えば, 例外なく全てのバイトを読み込むには,

                <code>fd1 = mopen(file1,'rb')</code> とします.

            </note>

        </para>

        <para>データ型:</para>

        <variablelist>

            <varlistentry>

                <term>d</term>

                <listitem>

                    <para>double</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>f</term>

                <listitem>

                    <para>float</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>l</term>

                <listitem>

                    <para>long</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>i</term>

                <listitem>

                    <para>int</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>s</term>

                <listitem>

                    <para>short</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>c</term>

                <listitem>

                    <para>character</para>

                </listitem>

            </varlistentry>

        </variablelist>

        <para>オプションのフラグ:</para>

        <variablelist>

            <varlistentry>

                <term>u..</term>

                <listitem>

                    <para>符号なし (上記の型のどれかと組み合わせます)</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>..l</term>

                <listitem>

                    <para>リトルインディアン (上記の型のどれかと組み合わせます)</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>..b</term>

                <listitem>

                    <para>ビッグインディアン (上記の型のどれかと組み合わせます)</para>

                </listitem>

            </varlistentry>

        </variablelist>

        <para>

            (<literal>little=endian</literal>ステータスをチェックすることにより)

            読み込まれたバイトは必要に応じて自動的にスワップされます.

        </para>

        <para>

            このデフォルトのスワップ動作は

            <function>mopen</function>関数にフラグを追加することにより抑制することが

            できます.

        </para>

        <para>
            フォーマット <literal>"l"</literal>, <literal>"d"</literal>

            および <literal>"f"</literal> は, <function>mget</function>

            関数でのみ有効です.

        </para>

    </refsection>

    <refsection>

        <title>例</title>

        <programlisting role="example"><![CDATA[
file1 = fullfile(TMPDIR,'test1.bin');
file2 = fullfile(TMPDIR,'test2.bin');
fd1=mopen(file1,'wb');
fd2=mopen(file2,'wb');
mput(1996,'ull',fd1);
mput(1996,'ull',fd2);
mclose(fd1);
mclose(fd2);
fd1=mopen(file1,'rb');
if 1996<>mget(1,'ull',fd1)
  write(%io(2),'Bug');
end

fd2=mopen(file2,'rb');
if 1996<>mget(1,'ull',fd2)
  write(%io(2),'Bug');
end

mclose(fd1);
mclose(fd2);
 ]]></programlisting>

    </refsection>

    <refsection role="see also">

        <title>参照</title>

        <simplelist type="inline">

            <member>

                <link linkend="mclose">mclose</link>

            </member>

            <member>

                <link linkend="meof">meof</link>

            </member>

            <member>

                <link linkend="mfprintf">mfprintf</link>

            </member>

            <member>

                <link linkend="fprintfMat">fprintfMat</link>

            </member>

            <member>

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

            </member>

            <member>

                <link linkend="fscanfMat">fscanfMat</link>

            </member>

            <member>

                <link linkend="mgetl">mgetl</link>

            </member>

            <member>

                <link linkend="mgetstr">mgetstr</link>

            </member>

            <member>

                <link linkend="mopen">mopen</link>

            </member>

            <member>

                <link linkend="mprintf">mprintf</link>

            </member>

            <member>

                <link linkend="mput">mput</link>

            </member>

            <member>

                <link linkend="mputl">mputl</link>

            </member>

            <member>

                <link linkend="mputstr">mputstr</link>

            </member>

            <member>

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

            </member>

            <member>

                <link linkend="mseek">mseek</link>

            </member>

            <member>

                <link linkend="mtell">mtell</link>

            </member>

            <member>

                <link linkend="mdelete">mdelete</link>

            </member>

        </simplelist>

    </refsection>

</refentry>

