File: EOF-and-Errors.html

package info (click to toggle)
octave 6.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 124,192 kB
  • sloc: cpp: 322,665; ansic: 68,088; fortran: 20,980; objc: 8,121; sh: 7,719; yacc: 4,266; lex: 4,123; perl: 1,530; java: 1,366; awk: 1,257; makefile: 424; xml: 147
file content (145 lines) | stat: -rw-r--r-- 6,750 bytes parent folder | download
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EOF and Errors (GNU Octave (version 6.2.0))</title>

<meta name="description" content="EOF and Errors (GNU Octave (version 6.2.0))">
<meta name="keywords" content="EOF and Errors (GNU Octave (version 6.2.0))">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<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.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="octave.css">


</head>

<body lang="en">
<span id="EOF-and-Errors"></span><div class="header">
<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>
<span id="End-of-File-and-Errors"></span><h4 class="subsection">14.2.18 End of File and Errors</h4>

<p>Once a file has been opened its status can be acquired.  As an example
the <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">
<pre class="example">filename = &quot;myfile.txt&quot;;
fid = fopen (filename, &quot;r&quot;);
while (! feof (fid) )
  text_line = fgetl (fid);
endwhile
fclose (fid);
</pre></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>
<span id="XREFfeof"></span><dl>
<dt id="index-feof">: <em><var>status</var> =</em> <strong>feof</strong> <em>(<var>fid</var>)</em></dt>
<dd><p>Return 1 if an end-of-file condition has been encountered for the file
specified by file descriptor <var>fid</var> and 0 otherwise.
</p>
<p>Note that <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>See also:</strong> <a href="Binary-I_002fO.html#XREFfread">fread</a>, <a href="File-Positioning.html#XREFfrewind">frewind</a>, <a href="File-Positioning.html#XREFfseek">fseek</a>, <a href="#XREFfclear">fclear</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<span id="XREFferror"></span><dl>
<dt id="index-ferror">: <em><var>msg</var> =</em> <strong>ferror</strong> <em>(<var>fid</var>)</em></dt>
<dt id="index-ferror-1">: <em>[<var>msg</var>, <var>err</var>] =</em> <strong>ferror</strong> <em>(<var>fid</var>)</em></dt>
<dt id="index-ferror-2">: <em>[&hellip;] =</em> <strong>ferror</strong> <em>(<var>fid</var>, &quot;clear&quot;)</em></dt>
<dd><p>Query the error status of the stream specified by file descriptor <var>fid</var>.
</p>
<p>If an error condition exists then return a string <var>msg</var> describing the
error.  Otherwise, return an empty string <code>&quot;&quot;</code>.
</p>
<p>The second input <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>err</var> is 1 if an error condition has been encountered and 0 otherwise.
</p>
<p>Note that <code>ferror</code> indicates if an error has already occurred, not
whether the next operation will result in an error condition.
</p>
<p><strong>See also:</strong> <a href="#XREFfclear">fclear</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<span id="XREFfclear"></span><dl>
<dt id="index-fclear">: <em></em> <strong>fclear</strong> <em>(<var>fid</var>)</em></dt>
<dd><p>Clear the stream state for the file specified by the file descriptor
<var>fid</var>.
</p>
<p><strong>See also:</strong> <a href="#XREFferror">ferror</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>


<span id="XREFfreport"></span><dl>
<dt id="index-freport">: <em></em> <strong>freport</strong> <em>()</em></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">
<pre class="example">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>

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


<hr>
<div class="header">
<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>



</body>
</html>