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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: EOF and Errors</title>
<meta name="description" content="GNU Octave: EOF and Errors">
<meta name="keywords" content="GNU Octave: EOF and Errors">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" 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#C_002dStyle-I_002fO-Functions" rel="up" title="C-Style I/O Functions">
<link href="File-Positioning.html#File-Positioning" rel="next" title="File Positioning">
<link href="Temporary-Files.html#Temporary-Files" rel="prev" title="Temporary Files">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {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}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="EOF-and-Errors"></a>
<div class="header">
<p>
Next: <a href="File-Positioning.html#File-Positioning" accesskey="n" rel="next">File Positioning</a>, Previous: <a href="Temporary-Files.html#Temporary-Files" accesskey="p" rel="prev">Temporary Files</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html#C_002dStyle-I_002fO-Functions" 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#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="End-of-File-and-Errors"></a>
<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 = "myfile.txt";
fid = fopen (filename, "r");
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>
<a name="XREFfeof"></a><dl>
<dt><a name="index-feof"></a>Built-in Function: <em></em> <strong>feof</strong> <em>(<var>fid</var>)</em></dt>
<dd><p>Return 1 if an end-of-file condition has been encountered for a given
file and 0 otherwise. Note that it 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="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>
<a name="XREFferror"></a><dl>
<dt><a name="index-ferror"></a>Built-in Function: <em>[<var>err</var>, <var>msg</var>] =</em> <strong>ferror</strong> <em>(<var>fid</var>)</em></dt>
<dt><a name="index-ferror-1"></a>Built-in Function: <em>[<var>err</var>, <var>msg</var>] =</em> <strong>ferror</strong> <em>(<var>fid</var>, "clear")</em></dt>
<dd><p>Return 1 if an error condition has been encountered for the file ID
<var>fid</var> and 0 otherwise. Note that it will only return 1 if an error
has already been encountered, not if the next operation will result in
an error condition.
</p>
<p>The second argument is optional. If it is supplied, also clear the
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>
<a name="XREFfclear"></a><dl>
<dt><a name="index-fclear"></a>Built-in Function: <em></em> <strong>fclear</strong> <em>(<var>fid</var>)</em></dt>
<dd><p>Clear the stream state for the specified file.
</p>
<p><strong>See also:</strong> <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>.
</p></dd></dl>
<a name="XREFfreport"></a><dl>
<dt><a name="index-freport"></a>Built-in Function: <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. For example:
</p>
<div class="example">
<pre class="example">freport ()
-| number mode name
-|
-| 0 r stdin
-| 1 w stdout
-| 2 w stderr
-| 3 r 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>.
</p></dd></dl>
<hr>
<div class="header">
<p>
Next: <a href="File-Positioning.html#File-Positioning" accesskey="n" rel="next">File Positioning</a>, Previous: <a href="Temporary-Files.html#Temporary-Files" accesskey="p" rel="prev">Temporary Files</a>, Up: <a href="C_002dStyle-I_002fO-Functions.html#C_002dStyle-I_002fO-Functions" 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#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|