File: EOF-and-Errors.html

package info (click to toggle)
octave 10.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 145,388 kB
  • sloc: cpp: 335,976; ansic: 82,241; fortran: 20,963; objc: 9,402; sh: 8,756; yacc: 4,392; lex: 4,333; perl: 1,544; java: 1,366; awk: 1,259; makefile: 659; xml: 192
file content (151 lines) | stat: -rw-r--r-- 8,273 bytes parent folder | download | duplicates (2)
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
<!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>EOF and Errors (GNU Octave (version 10.3.0))</title>

<meta name="description" content="EOF and Errors (GNU Octave (version 10.3.0))">
<meta name="keywords" content="EOF and Errors (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="File-Positioning.html" rel="next" title="File Positioning">
<link href="Temporary-Files.html" rel="prev" title="Temporary Files">
<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}
strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">


</head>

<body lang="en">
<div class="subsection-level-extent" id="EOF-and-Errors">
<div class="nav-panel">
<p>
Next: <a href="File-Positioning.html" accesskey="n" rel="next">File Positioning</a>, Previous: <a href="Temporary-Files.html" accesskey="p" rel="prev">Temporary Files</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html" accesskey="u" rel="up">C-Style I/O Functions</a> &nbsp; [<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="End-of-File-and-Errors"><span>14.2.18 End of File and Errors<a class="copiable-link" href="#End-of-File-and-Errors"> &para;</a></span></h4>

<p>Once a file has been opened its status can be acquired.  As an example
the <code class="code">feof</code> functions determines if the end of the file has been
reached.  This can be very useful when reading small parts of a file
at a time.  The following example shows how to read one line at a time
from a file until the end has been reached.
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">filename = &quot;myfile.txt&quot;;
fid = fopen (filename, &quot;r&quot;);
while (! feof (fid) )
  text_line = fgetl (fid);
endwhile
fclose (fid);
</pre></div></div>

<p>Note that in some situations it is more efficient to read the entire
contents of a file and then process it, than it is to read it line by
line.  This has the potential advantage of removing the loop in the
above code.
</p>
<a class="anchor" id="XREFfeof"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-feof"><span><code class="def-type"><var class="var">status</var> =</code> <strong class="def-name">feof</strong> <code class="def-code-arguments">(<var class="var">fid</var>)</code><a class="copiable-link" href="#index-feof"> &para;</a></span></dt>
<dd><p>Return 1 if an end-of-file condition has been encountered for the file
specified by file descriptor <var class="var">fid</var> and 0 otherwise.
</p>
<p>Note that <code class="code">feof</code> will only return 1 if the end of the file has already
been encountered, not if the next read operation will result in an
end-of-file condition.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="Binary-I_002fO.html#XREFfread">fread</a>, <a class="ref" href="File-Positioning.html#XREFfrewind">frewind</a>, <a class="ref" href="File-Positioning.html#XREFfseek">fseek</a>, <a class="ref" href="#XREFfclear">fclear</a>, <a class="ref" href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<a class="anchor" id="XREFferror"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-ferror"><span><code class="def-type"><var class="var">msg</var> =</code> <strong class="def-name">ferror</strong> <code class="def-code-arguments">(<var class="var">fid</var>)</code><a class="copiable-link" href="#index-ferror"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-ferror-1"><span><code class="def-type">[<var class="var">msg</var>, <var class="var">err</var>] =</code> <strong class="def-name">ferror</strong> <code class="def-code-arguments">(<var class="var">fid</var>)</code><a class="copiable-link" href="#index-ferror-1"> &para;</a></span></dt>
<dt class="deftypefnx def-cmd-deftypefn" id="index-ferror-2"><span><code class="def-type">[&hellip;] =</code> <strong class="def-name">ferror</strong> <code class="def-code-arguments">(<var class="var">fid</var>, &quot;clear&quot;)</code><a class="copiable-link" href="#index-ferror-2"> &para;</a></span></dt>
<dd><p>Query the error status of the stream specified by file descriptor <var class="var">fid</var>.
</p>
<p>If an error condition exists then return a string <var class="var">msg</var> describing the
error.  Otherwise, return an empty string <code class="code">&quot;&quot;</code>.
</p>
<p>The second input <code class="code">&quot;clear&quot;</code> is optional.  If supplied, the error
state on the stream will be cleared.
</p>
<p>The optional second output is a numeric indication of the error status.
<var class="var">err</var> is 1 if an error condition has been encountered and 0 otherwise.
</p>
<p>Note that <code class="code">ferror</code> indicates if an error has already occurred, not
whether the next operation will result in an error condition.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFfclear">fclear</a>, <a class="ref" href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<a class="anchor" id="XREFfclear"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-fclear"><span><strong class="def-name">fclear</strong> <code class="def-code-arguments">(<var class="var">fid</var>)</code><a class="copiable-link" href="#index-fclear"> &para;</a></span></dt>
<dd><p>Clear the stream state for the file specified by the file descriptor
<var class="var">fid</var>.
</p>
<p><strong class="strong">See also:</strong> <a class="ref" href="#XREFferror">ferror</a>, <a class="ref" href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<a class="anchor" id="XREFfreport"></a><span style="display:block; margin-top:-4.5ex;">&nbsp;</span>


<dl class="first-deftypefn">
<dt class="deftypefn" id="index-freport"><span><strong class="def-name">freport</strong> <code class="def-code-arguments">()</code><a class="copiable-link" href="#index-freport"> &para;</a></span></dt>
<dd><p>Print a list of which files have been opened, and whether they are open
for reading, writing, or both.
</p>
<p>For example:
</p>
<div class="example">
<div class="group"><pre class="example-preformatted">freport ()

     -|  number  mode  arch       name
     -|  ------  ----  ----       ----
     -|     0     r    ieee-le    stdin
     -|     1     w    ieee-le    stdout
     -|     2     w    ieee-le    stderr
     -|     3     r    ieee-le    myfile
</pre></div></div>

<p><strong class="strong">See also:</strong> <a class="ref" href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>, <a class="ref" href="Opening-and-Closing-Files.html#XREFfclose">fclose</a>, <a class="ref" href="Opening-and-Closing-Files.html#XREFis_005fvalid_005ffile_005fid">is_valid_file_id</a>.
</p></dd></dl>


</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="File-Positioning.html">File Positioning</a>, Previous: <a href="Temporary-Files.html">Temporary Files</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html">C-Style I/O Functions</a> &nbsp; [<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>