1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 07:02:06 +01:00
Files
2026-02-28 22:54:29 +01:00

143 lines
4.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4225e50bc391ddba99e367c231463da0dc04357d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.fscanf" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>fscanf</refname>
<refpurpose>Analyse un fichier en fonction d'un format</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>
La fonction <function>fscanf</function> est similaire à la fonction
<function>sscanf</function>, sauf qu'elle prend un fichier en entrée,
représentée par la ressource <parameter>stream</parameter> et interprète
l'entrée en fonction du format <parameter>format</parameter> spécifié.
</para>
<para>
Tous les caractères blancs de la chaîne de formatage correspondent
à autant d'espaces dans le flux d'entrée. Cela signifie qu'une tabulation
(<literal>\t</literal>) dans la chaîne de format peut remplacer
un espace simple dans le flux d'entrée.
</para>
<para>
Chaque appel à la fonction <function>fscanf</function> lit une ligne du fichier.
</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>
Les valeurs optionnelles à assigner.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Si seulement 2 paramètres sont passés à la fonction, la valeur analysée
sera retournée sous la forme d'un tableau. Si des paramètres optionnels
sont passés, la fonction retourne le nombre de valeurs assignées.
Les paramètres optionnels doivent être passés par référence.
</para>
<para>
S'il y a plus de sous-chaînes attendues dans le <parameter>format</parameter>
que disponibles dans <parameter>string</parameter>,
&null; sera retourné. Pour les autres erreurs, &false; sera retourné.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <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;
//... traitement des données
}
fclose($handle);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Contenu du fichier 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
-->