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 * Copyright (C) 2012 - 2016 - Scilab Enterprises
7 * Copyright (C) 2020 - Samuel GOUGEON
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"
18          xmlns:svg="http://www.w3.org/2000/svg" xmlns:db="http://docbook.org/ns/docbook"
19          xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="mputstr">
20    <refnamediv>
21        <refname>mputstr</refname>
22        <refpurpose>запись отдельного текста в открытый файл</refpurpose>
23    </refnamediv>
24    <refsynopsisdiv>
25        <title>Синтаксис</title>
26        <synopsis>
27            mputstr(str)
28            mputstr(str, fid)
29        </synopsis>
30    </refsynopsisdiv>
31    <refsection>
32        <title>Аргументы</title>
33        <variablelist>
34            <varlistentry>
35                <term>fid</term>
36                <listitem>
37                    <para>
38                        целое число: идентификатор файла, возвращённый
39                        <literal>mopen(…)</literal>. <literal>-1</literal>
40                        (по умолчанию) стоит для последнего открытого файла.
41                    </para>
42                </listitem>
43            </varlistentry>
44            <varlistentry>
45                <term>str</term>
46                <listitem>
47                    <para>
48                        Отдельный текст для записи в файл. Принимаются мультиязыковые
49                        символы UTF-8. <varname>str</varname> может включать в
50                        себя специальные символы форматирования, такие как ascii(9)
51                        (табулятор), ascii(10) (новая строка) and ascii(13)
52                        (возврат каретки). Такие последовательности, как "\t",
53                        "\n" и "\r" не имеют специального значения и записываются
54                        как есть.
55                    </para>
56                </listitem>
57            </varlistentry>
58        </variablelist>
59    </refsection>
60    <refsection>
61        <title>Описание</title>
62        <para>
63            <literal>mputstr(…)</literal> записывает символьную строку
64            <varname>str</varname> в двоичный или текстовый файл. <varname>str</varname>
65            буферизуется: фактически она записывается в файл только при его
66            закрытии.
67        </para>
68    </refsection>
69    <refsection>
70        <title>Примеры</title>
71        <programlisting role="example"><![CDATA[
72myFile = tempname();
73fid = mopen(myFile, "wt");
74
75mputstr("Scilab", fid);
76mgetl(myFile) // => []. "Scilab" буферизован
77mputstr(" and Xcos", fid);
78mgetl(myFile) // => still []. " and Xcos" добавляется в буфер
79
80// Только один текст может быть послан за раз:
81mputstr(["Science" ; "Innovation"], fid);     // => error
82
83mclose(fid);
84mgetl(myFile) // => "Scilab and Xcos"
85mdelete(myFile);
86     ]]></programlisting>
87        <para/>
88        <screen><![CDATA[
89--> mputstr("Scilab", fid);
90--> mgetl(myFile) // => []. "Scilab"  буферизован
91 ans  =
92    []
93
94--> mputstr(" and Xcos", fid);
95--> mgetl(myFile) // => still []. " and Xcos" добавляется в буфер
96 ans  =
97    []
98
99--> // Только один текст может быть послан за раз:
100--> mputstr(["Science" ; "Innovation"], fid);    // => error
101mputstr: Argument #1: Scalar (1 element) expected.
102
103--> mclose(fid);
104--> mgetl(myFile)
105 ans  =
106  "Scilab and Xcos"
107]]></screen>
108        <para/>
109        <para>
110            Использование UTF-8 и специальные символы форматирования:
111        </para>
112        <programlisting role="example"><![CDATA[
113[tab, nl] = (ascii(9), ascii(10));
114myFile = tempname();
115fid = mopen(myFile, "wt");
116
117mputstr("Επιστήμη", fid);
118mputstr(ascii(10), fid);      // перевод строки
119mputstr("Τεχνολογία" + nl, fid);
120mputstr(tab, fid);           // табуляция в начале строки
121mputstr("innovation", fid);
122mputstr(nl + "Science" + nl + tab + "technology", fid);
123mclose(fid);
124mgetl(myFile)
125
126mdelete(myFile);
127 ]]></programlisting>
128    <screen><![CDATA[
129--> mputstr("Επιστήμη", fid);
130--> mputstr(ascii(10), fid);      // перевод строки
131--> mputstr("Τεχνολογία" + nl, fid);
132--> mputstr(tab, fid);           // табуляция в начале строки
133--> mputstr("innovation", fid);
134--> mputstr(nl + "Science" + nl + tab + "technology", fid);
135--> mclose(fid);
136--> mgetl(myFile)
137 ans  =
138  "Επιστήμη"
139  "Τεχνολογία"
140  "        innovation"
141  "Science"
142  "        technology"
143]]></screen>
144    </refsection>
145    <refsection role="see also">
146        <title>Смотрите также</title>
147        <simplelist type="inline">
148            <member>
149                <link linkend="mgetstr">mgetstr</link>
150            </member>
151            <member>
152                <link linkend="mputl">mputl</link>
153            </member>
154            <member>
155                <link linkend="mgetl">mgetl</link>
156            </member>
157            <member>
158                <link linkend="mput">mput</link>
159            </member>
160            <member>
161                <link linkend="mfprintf">mfprintf</link>
162            </member>
163            <member>
164                <link linkend="save">save</link>
165            </member>
166            <member>
167                <link linkend="write">write</link>
168            </member>
169            <member>
170                <link linkend="csvWrite">csvWrite</link>
171            </member>
172        </simplelist>
173    </refsection>
174</refentry>
175