#### 14.2.3 Line-Oriented Input

To read from a file it must be opened for reading using `fopen`. Then a line can be read from the file using `fgetl` as the following code illustrates

    fid = fopen ("free.txt");
    txt = fgetl (fid)
         -| Free Software is needed for Free Science
    fclose (fid);

This of course assumes that the file ‘`free.txt`’ exists and contains the line ‘`Free Software is needed for Free Science`’.

Built-in Function: str = fgetl (fid)
Built-in Function: str = fgetl (fid, len)

  Read characters from a file, stopping after a newline, or EOF, or len characters have been read. The characters read, excluding the possible trailing newline, are returned as a string.

  If len is omitted, `fgetl` reads until the next newline character.

  If there are no more characters to read, `fgetl` returns -1.

  To read a line and return the terminating newline see `fgets`.

  See also: fgets, fscanf, fread, fopen.

Built-in Function: str = fgets (fid)
Built-in Function: str = fgets (fid, len)

  Read characters from a file, stopping after a newline, or EOF, or len characters have been read. The characters read, including the possible trailing newline, are returned as a string.

  If len is omitted, `fgets` reads until the next newline character.

  If there are no more characters to read, `fgets` returns -1.

  To read a line and discard the terminating newline see `fgetl`.

  See also: fputs, fgetl, fscanf, fread, fopen.

Built-in Function: nlines = fskipl (fid)
Built-in Function: nlines = fskipl (fid, count)
Built-in Function: nlines = fskipl (fid, Inf)

  Read and skip count lines from the file specified by the file descriptor fid.

  `fskipl` discards characters until an end-of-line is encountered exactly count-times, or until the end-of-file marker is found.

  If count is omitted, it defaults to 1. count may also be `Inf`, 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.

  Returns the number of lines skipped (end-of-line sequences encountered).

  See also: fgetl, fgets, fscanf, fopen.