Files
doc-fr/reference/filesystem/functions/fscanf.xml
T
Yannick Torres 6493213deb sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@270763 c90b9560-bf6c-de11-be94-00142212c4b1
2008-12-07 21:39:20 +00:00

177 lines
4.8 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.23 $ -->
<!-- EN-Revision: 1.20 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.fscanf">
<refnamediv>
<refname>fscanf</refname>
<refpurpose>Analyse un fichier en fonction d'un format</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>fscanf</methodname>
<methodparam><type>resource</type><parameter>handle</parameter></methodparam>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter role="reference">...</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>handle</parameter> et interprète
l'entrée en fonction du format <parameter>format</parameter> spécifié,
qui est décrit dans la documentation de la fonction
<function>sprintf</function>.
</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>handle</parameter></term>
<listitem>
&fs.file.pointer;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Le format spécifié, tel que décrit dans la
documentation de la fonction
<function>sprintf</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>...</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é sous la forme d'un tableau. Si des paramètres optionnels
sont passés, la fonction retournera le nombre de valeurs assignées.
Les paramètres optionnels doivent être passés par référence.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.3.0</entry>
<entry>
Avant PHP 4.3.0, le nombre maximum de caractères lus dans le fichier
était de 512, ou bien jusqu'à la première nouvelle ligne
"<literal>\n</literal>" : en fait, le premier des deux. Depuis PHP
4.3.0, des lignes de n'importe quelle taille peuvent être lues.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</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:"../../../../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
-->