<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Line-Oriented Input (GNU Octave (version 5.1.0))</title> <meta name="description" content="Line-Oriented Input (GNU Octave (version 5.1.0))"> <meta name="keywords" content="Line-Oriented Input (GNU Octave (version 5.1.0))"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <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="Formatted-Output.html#Formatted-Output" rel="next" title="Formatted Output"> <link href="Simple-Output.html#Simple-Output" rel="prev" title="Simple Output"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} 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.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"> <a name="Line_002dOriented-Input"></a> <div class="header"> <p> Next: <a href="Formatted-Output.html#Formatted-Output" accesskey="n" rel="next">Formatted Output</a>, Previous: <a href="Simple-Output.html#Simple-Output" accesskey="p" rel="prev">Simple Output</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="Line_002dOriented-Input-1"></a> <h4 class="subsection">14.2.3 Line-Oriented Input</h4> <p>To read from a file it must be opened for reading using <code>fopen</code>. Then a line can be read from the file using <code>fgetl</code> as the following code illustrates </p> <div class="example"> <pre class="example">fid = fopen ("free.txt"); txt = fgetl (fid) -| Free Software is needed for Free Science fclose (fid); </pre></div> <p>This of course assumes that the file ‘<samp>free.txt</samp>’ exists and contains the line ‘<samp>Free Software is needed for Free Science</samp>’. </p> <a name="XREFfgetl"></a><dl> <dt><a name="index-fgetl"></a><em><var>str</var> =</em> <strong>fgetl</strong> <em>(<var>fid</var>)</em></dt> <dt><a name="index-fgetl-1"></a><em><var>str</var> =</em> <strong>fgetl</strong> <em>(<var>fid</var>, <var>len</var>)</em></dt> <dd><p>Read characters from a file, stopping after a newline, or EOF, or <var>len</var> characters have been read. </p> <p>The characters read, excluding the possible trailing newline, are returned as a string. </p> <p>If <var>len</var> is omitted, <code>fgetl</code> reads until the next newline character. </p> <p>If there are no more characters to read, <code>fgetl</code> returns -1. </p> <p>To read a line and return the terminating newline see <code>fgets</code>. </p> <p><strong>See also:</strong> <a href="#XREFfgets">fgets</a>, <a href="Formatted-Input.html#XREFfscanf">fscanf</a>, <a href="Binary-I_002fO.html#XREFfread">fread</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>. </p></dd></dl> <a name="XREFfgets"></a><dl> <dt><a name="index-fgets"></a><em><var>str</var> =</em> <strong>fgets</strong> <em>(<var>fid</var>)</em></dt> <dt><a name="index-fgets-1"></a><em><var>str</var> =</em> <strong>fgets</strong> <em>(<var>fid</var>, <var>len</var>)</em></dt> <dd><p>Read characters from a file, stopping after a newline, or EOF, or <var>len</var> characters have been read. </p> <p>The characters read, including the possible trailing newline, are returned as a string. </p> <p>If <var>len</var> is omitted, <code>fgets</code> reads until the next newline character. </p> <p>If there are no more characters to read, <code>fgets</code> returns -1. </p> <p>To read a line and discard the terminating newline see <code>fgetl</code>. </p> <p><strong>See also:</strong> <a href="Simple-Output.html#XREFfputs">fputs</a>, <a href="#XREFfgetl">fgetl</a>, <a href="Formatted-Input.html#XREFfscanf">fscanf</a>, <a href="Binary-I_002fO.html#XREFfread">fread</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>. </p></dd></dl> <a name="XREFfskipl"></a><dl> <dt><a name="index-fskipl"></a><em><var>nlines</var> =</em> <strong>fskipl</strong> <em>(<var>fid</var>)</em></dt> <dt><a name="index-fskipl-1"></a><em><var>nlines</var> =</em> <strong>fskipl</strong> <em>(<var>fid</var>, <var>count</var>)</em></dt> <dt><a name="index-fskipl-2"></a><em><var>nlines</var> =</em> <strong>fskipl</strong> <em>(<var>fid</var>, Inf)</em></dt> <dd><p>Read and skip <var>count</var> lines from the file specified by the file descriptor <var>fid</var>. </p> <p><code>fskipl</code> discards characters until an end-of-line is encountered exactly <var>count</var>-times, or until the end-of-file marker is found. </p> <p>If <var>count</var> is omitted, it defaults to 1. <var>count</var> may also be <code>Inf</code>, in which case lines are skipped until the end of the file. This form is suitable for counting the number of lines in a file. </p> <p>Returns the number of lines skipped (end-of-line sequences encountered). </p> <p><strong>See also:</strong> <a href="#XREFfgetl">fgetl</a>, <a href="#XREFfgets">fgets</a>, <a href="Formatted-Input.html#XREFfscanf">fscanf</a>, <a href="Opening-and-Closing-Files.html#XREFfopen">fopen</a>. </p></dd></dl> <hr> <div class="header"> <p> Next: <a href="Formatted-Output.html#Formatted-Output" accesskey="n" rel="next">Formatted Output</a>, Previous: <a href="Simple-Output.html#Simple-Output" accesskey="p" rel="prev">Simple Output</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>