Skip to content
Tristan Hume edited this page Apr 23, 2012 · 3 revisions

#Stream.eof

##Syntax eof ( streamNumber : int ) : boolean

##Description The eof (end of file) function is used to determine if there is any more input. It returns true when there are no more characters to be read. The parameter and its parentheses are omitted when referring to the standard input (usually this is the keyboard); otherwise the parameter specifies the number of a stream. The stream number has been determined (in most cases) by an open statement.

##Example This program reads and outputs all the lines in the file called "info".

    var line : string
    var fileNumber : int
    open : fileNumber, "info", get
    loop
        exit when eof (fileNumber)
        get : fileNumber, line : *
        put line
    end loop

##Details See also the description of the get statement, which gives more examples of the use of eof. See also the open and read statements.

When the input is from the keyboard, the user can signal end-of-file by typing control-Z on a PC (or control-D on UNIX). If a program tests for eof on the keyboard, and the user has not typed control-Z (or control-D) and the user has typed no characters beyond those that have been read, the program must wait until the next character is typed. Once this character is typed, the program knows whether it is at the end of the input, and returns the corresponding true or false value for eof.

##Status Part of the language and only conceptually part of the Stream unit.

This means that you can only call the function by calling eof, not by calling Stream.eof.

Clone this wiki locally