-
Notifications
You must be signed in to change notification settings - Fork 165
Expand file tree
/
Copy pathsscanf.xml
More file actions
155 lines (149 loc) · 4.83 KB
/
sscanf.xml
File metadata and controls
155 lines (149 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4225e50bc391ddba99e367c231463da0dc04357d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.sscanf" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sscanf</refname>
<refpurpose>Analyse une chaîne à l'aide d'un format</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>int</type><type>null</type></type><methodname>sscanf</methodname>
<methodparam><type>string</type><parameter>string</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>sscanf</function> est l'inverse de la fonction
<function>printf</function>. <function>sscanf</function> lit
des données dans la chaîne <parameter>string</parameter>, et
l'interprète en fonction du format <parameter>format</parameter>.
</para>
<para>
Tous les caractères blancs dans la chaîne <parameter>format</parameter> correspondent
à un caractère blanc dans la chaîne <parameter>string</parameter>. Cela signifie que
même une tabulation (<literal>\t</literal>) dans la chaîne de format peut correspondre à
un simple espace dans la chaîne <parameter>string</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
La chaîne à analyser.
</para>
</listitem>
</varlistentry>
&strings.scanf.parameter.format;
<varlistentry>
<term><parameter>vars</parameter></term>
<listitem>
<para>
Optionnellement, il est possible de passer des variables dans ce paramètre,
par référence qui contiendront les valeurs de l'analyse.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Si seulement deux paramètres sont fournis, les valeurs trouvées
seront retournées sous forme de tableau. Sinon, si le paramètre
optionnels sont fournis, la fonction retournera le nombre de
valeurs assignées. Le paramètre optionnel doit être passé par
référence.
</para>
<para>
S'il y a plus de sous-chaînes attendues dans le paramètre
<parameter>format</parameter>, qu'il y a de disponibles dans
<parameter>string</parameter>, alors &null; sera retourné.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>sscanf</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Lecture d'un numéro de série
list($serial) = sscanf("SN/2350001", "SN/%d");
// et la date de fabrication
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Le produit $serial a été fabriqué le : $year-" . substr($month, 0, 3) . "-$day\n";
?>
]]>
</programlisting>
</example>
</para>
<para>
Si des paramètres optionnels sont passés, <function>sscanf</function> retournera
le nombre de valeurs assignées.
</para>
<para>
<example>
<title><function>sscanf</function> - utilisation des paramètres optionnels</title>
<programlisting role="php">
<![CDATA[
<?php
// lit les informations d'auteur, et génère une entrée DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>printf</function></member>
<member><function>sprintf</function></member>
<member><function>fprintf</function></member>
<member><function>vprintf</function></member>
<member><function>vsprintf</function></member>
<member><function>vfprintf</function></member>
<member><function>fscanf</function></member>
<member><function>number_format</function></member>
<member><function>date</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
-->