uTools-Manuals/docs/php/fscanf.html
2019-04-08 23:22:26 +08:00

172 lines
7.4 KiB
HTML
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.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>从文件中格式化输入</title>
</head>
<body class="docs"><div id="layout">
<div id="layout-content"><div id="function.fscanf" class="refentry">
<div class="refnamediv">
<h1 class="refname">fscanf</h1>
<p class="verinfo">(PHP 4 &gt;= 4.0.1, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">fscanf</span> &mdash; <span class="dc-title">从文件中格式化输入</span></p>
</div>
<div class="refsect1 description" id="refsect1-function.fscanf-description">
<h3 class="title">说明</h3>
<div class="methodsynopsis dc-description">
<span class="methodname"><strong>fscanf</strong></span>
( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$handle</code></span>
, <span class="methodparam"><span class="type">string</span> <code class="parameter">$format</code></span>
[, <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter reference">&$...</code></span>
] ) : <span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span></div>
<p class="para rdfs-comment">
<span class="function"><strong>fscanf()</strong></span> 函数和
<span class="function"><a href="sscanf.html" class="function">sscanf()</a></span> 相似,但是它从与
<code class="parameter">handle</code> 关联的文件中接受输入并根据指定的
<code class="parameter">format</code>(定义于 <span class="function"><a href="sprintf.html" class="function">sprintf()</a></span>
的文档中)来解释输入。
</p>
<p class="para">
格式字符串中的任何空白会与输入流中的任何空白匹配。这意味着甚至格式字符串中的制表符
<em>\t</em> 也会与输入流中的一个空格字符匹配。
</p>
<p class="para">
每次调用 <span class="function"><strong>fscanf()</strong></span> 都会从文件中读取一行。
</p>
</div>
<div class="refsect1 parameters" id="refsect1-function.fscanf-parameters">
<h3 class="title">参数</h3>
<p class="para">
<dl>
<dt>
<code class="parameter">handle</code></dt>
<dd>
<p class="para">文件系统指针,是典型地由
<span class="function"><a href="fopen.html" class="function">fopen()</a></span> 创建的 <span class="type"><a href="language.types.resource.html" class="type resource">resource</a></span>(资源)。</p>
</dd>
<dt>
<code class="parameter">format</code></dt>
<dd>
<p class="para">
参数格式是 <span class="function"><a href="sprintf.html" class="function">sprintf()</a></span> 文档中所描述的格式。
</p>
</dd>
<dt>
<code class="parameter">...</code></dt>
<dd>
<p class="para">
The optional assigned values.
</p>
</dd>
</dl>
</p>
</div>
<div class="refsect1 returnvalues" id="refsect1-function.fscanf-returnvalues">
<h3 class="title">返回值</h3>
<p class="para">
如果只给此函数传递了两个参数,解析后的值会被作为数组返回。否则,如果提供了可选参数,此函数将返回被赋值的数目。
可选参数必须用引用传递。
</p>
</div>
<div class="refsect1 changelog" id="refsect1-function.fscanf-changelog">
<h3 class="title">更新日志</h3>
<p class="para">
<table class="doctable informaltable">
<thead>
<tr>
<th>版本</th>
<th>说明</th>
</tr>
</thead>
<tbody class="tbody">
<tr>
<td>4.3.0</td>
<td>
在 PHP 4.3.0 之前,从文件中读入的最大字符数是
512或者第一个 \n看先碰到哪种情况。从
PHP 4.3.0 起可以读取任意长的行。
</td>
</tr>
</tbody>
</table>
</p>
</div>
<div class="refsect1 examples" id="refsect1-function.fscanf-examples">
<h3 class="title">范例</h3>
<p class="para">
<div class="example" id="example-2804">
<p><strong>Example #1 <span class="function"><strong>fscanf()</strong></span> 例子</strong></p>
<div class="example-contents">
<div class="phpcode"><pre><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$handle&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"users.txt"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br />while&nbsp;(</span><span style="color: #0000BB">$userinfo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fscanf</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"%s\t%s\t%s\n"</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;(</span><span style="color: #0000BB">$name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$profession</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$countrycode</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">$userinfo</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//...&nbsp;do&nbsp;something&nbsp;with&nbsp;the&nbsp;values<br /></span><span style="color: #007700">}<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$handle</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</pre></div>
</div>
</div>
</p>
<p class="para">
<div class="example" id="example-2805">
<p><strong>Example #2 users.txt 的内容</strong></p>
<div class="example-contents">
<div class="txtcode"><pre class="txtcode">javier argonaut pe
hiroshi sculptor jp
robert slacker us
luigi florist it</pre>
</div>
</div>
</div>
</p>
</div>
<div class="refsect1 seealso" id="refsect1-function.fscanf-seealso">
<h3 class="title">参见</h3>
<p class="para">
<ul class="simplelist">
<li class="member"><span class="function"><a href="fread.html" class="function" rel="rdfs-seeAlso">fread()</a> - 读取文件(可安全用于二进制文件)</span></li>
<li class="member"><span class="function"><a href="fgets.html" class="function" rel="rdfs-seeAlso">fgets()</a> - 从文件指针中读取一行</span></li>
<li class="member"><span class="function"><a href="fgetss.html" class="function" rel="rdfs-seeAlso">fgetss()</a> - 从文件指针中读取一行并过滤掉 HTML 标记</span></li>
<li class="member"><span class="function"><a href="sscanf.html" class="function" rel="rdfs-seeAlso">sscanf()</a> - 根据指定格式解析输入的字符</span></li>
<li class="member"><span class="function"><a href="printf.html" class="function" rel="rdfs-seeAlso">printf()</a> - 输出格式化字符串</span></li>
<li class="member"><span class="function"><a href="sprintf.html" class="function" rel="rdfs-seeAlso">sprintf()</a> - Return a formatted string</span></li>
</ul>
</p>
</div>
</div></div></div></body></html>