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
|
<!DOCTYPE html>
<html>
<!-- Created by GNU Texinfo 7.1.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Input Conversion Syntax (GNU Octave (version 10.3.0))</title>
<meta name="description" content="Input Conversion Syntax (GNU Octave (version 10.3.0))">
<meta name="keywords" content="Input Conversion Syntax (GNU Octave (version 10.3.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="C_002dStyle-I_002fO-Functions.html" rel="up" title="C-Style I/O Functions">
<link href="Table-of-Input-Conversions.html" rel="next" title="Table of Input Conversions">
<link href="Formatted-Input.html" rel="prev" title="Formatted Input">
<style type="text/css">
<!--
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
div.example {margin-left: 3.2em}
span:hover a.copiable-link {visibility: visible}
ul.mark-bullet {list-style-type: disc}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">
</head>
<body lang="en">
<div class="subsection-level-extent" id="Input-Conversion-Syntax">
<div class="nav-panel">
<p>
Next: <a href="Table-of-Input-Conversions.html" accesskey="n" rel="next">Table of Input Conversions</a>, Previous: <a href="Formatted-Input.html" accesskey="p" rel="prev">Formatted Input</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html" accesskey="u" rel="up">C-Style I/O Functions</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="Input-Conversion-Syntax-1"><span>14.2.12 Input Conversion Syntax<a class="copiable-link" href="#Input-Conversion-Syntax-1"> ¶</a></span></h4>
<p>A <code class="code">scanf</code> template string is a string that contains ordinary
multibyte characters interspersed with conversion specifications that
start with ‘<samp class="samp">%</samp>’.
</p>
<p>Any whitespace character in the template causes any number of whitespace
characters in the input stream to be read and discarded. The whitespace
characters that are matched need not be exactly the same whitespace
characters that appear in the template string. For example, write
‘<samp class="samp"> , </samp>’ in the template to recognize a comma with optional whitespace
before and after.
</p>
<p>Other characters in the template string that are not part of conversion
specifications must match characters in the input stream exactly; if
this is not the case, a matching failure occurs.
</p>
<p>The conversion specifications in a <code class="code">scanf</code> template string
have the general form:
</p>
<div class="example">
<pre class="example-preformatted">% <var class="var">flags</var> <var class="var">width</var> <var class="var">type</var> <var class="var">conversion</var>
</pre></div>
<p>In more detail, an input conversion specification consists of an initial
‘<samp class="samp">%</samp>’ character followed in sequence by:
</p>
<ul class="itemize mark-bullet">
<li>An optional <em class="dfn">flag character</em> ‘<samp class="samp">*</samp>’, which says to ignore the text
read for this specification. When <code class="code">scanf</code> finds a conversion
specification that uses this flag, it reads input as directed by the
rest of the conversion specification, but it discards this input, does
not return any value, and does not increment the count of
successful assignments.
<a class="index-entry-id" id="index-flag-character-_0028scanf_0029"></a>
</li><li>An optional decimal integer that specifies the <em class="dfn">maximum field
width</em>. Reading of characters from the input stream stops either when
this maximum is reached or when a non-matching character is found,
whichever happens first. Most conversions discard initial whitespace
characters, and these discarded characters don’t count towards the
maximum field width. Conversions that do not discard initial whitespace
are explicitly documented.
<a class="index-entry-id" id="index-maximum-field-width-_0028scanf_0029"></a>
</li><li>An optional type modifier character. This character is ignored by
Octave’s <code class="code">scanf</code> function, but is recognized to provide
compatibility with the C language <code class="code">scanf</code>.
</li><li>A character that specifies the conversion to be applied.
</li></ul>
<p>The exact options that are permitted and how they are interpreted vary
between the different conversion specifiers. See the descriptions of the
individual conversions in <a class="ref" href="Table-of-Input-Conversions.html">Table of Input Conversions</a> for
information about the particular options that they allow.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Table-of-Input-Conversions.html">Table of Input Conversions</a>, Previous: <a href="Formatted-Input.html">Formatted Input</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html">C-Style I/O Functions</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|