Files
php-doc-ru/reference/filesystem/functions/fscanf.xml

146 lines
5.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4225e50bc391ddba99e367c231463da0dc04357d Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.fscanf" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>fscanf</refname>
<refpurpose>Обрабатывает данные из файла по условиям формата</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>int</type><type>false</type><type>null</type></type><methodname>fscanf</methodname>
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter role="reference">vars</parameter></methodparam>
</methodsynopsis>
<para>
Функция <function>fscanf</function> аналогична функции
<function>sscanf</function>, но берёт входные данные из файла,
который связан с потоком <parameter>stream</parameter>, и интерпретирует входные данные
по условиям формата <parameter>format</parameter>.
</para>
<para>
Любой пробельный символ в строке формата эквивалентен любому
пробельному символу во входящем потоке. Это означает, что даже символ табуляции
(<literal>\t</literal>) в строке формата может соответствовать
одному символу пробела в потоке входных данных.
</para>
<para>
Каждый вызов функции <function>fscanf</function> считывает одну строку из файла.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stream</parameter></term>
<listitem>
&fs.file.pointer;
</listitem>
</varlistentry>
&strings.scanf.parameter.format;
<varlistentry>
<term><parameter>vars</parameter></term>
<listitem>
<para>
Необязательные переменные, которым функция присвоит значения.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает массив с результатами разбора,
если в функцию передали только два аргумента.
Функция вернёт количество присвоенных значений, если передали необязательные аргументы.
Необязательные аргументы требуется передавать по ссылке.
</para>
<para>
Если параметр <parameter>format</parameter> ожидает больше подстрок,
чем доступно в параметре <parameter>string</parameter>, вернётся значение &null;.
Функци вернёт &false;, если возникнут другие ошибки.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования функции <function>fscanf</function></title>
<programlisting role="php">
<![CDATA[
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... совершаем какие-либо действия над значениями
}
fclose($handle);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Содержимое файла users.txt</title>
<programlisting role="txt">
<![CDATA[
javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>fread</function></member>
<member><function>fgets</function></member>
<member><function>fgetss</function></member>
<member><function>sscanf</function></member>
<member><function>printf</function></member>
<member><function>sprintf</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->