## Tcl8.6.2/Tk8.6.2 Documentation > Tcl Commands, version 8.6.2 > eof

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

### NAME

eof — Check for end of file condition on channel

### SYNOPSIS

eof channelId

### DESCRIPTION

Returns 1 if an end of file condition occurred during the most recent input operation on channelId (such as gets), 0 otherwise.

ChannelId must be an identifier for an open channel such as a Tcl standard channel (stdin, stdout, or stderr), the return value from an invocation of open or socket, or the result of a channel creation command provided by a Tcl extension.

### EXAMPLES

Read and print out the contents of a file line-by-line:

    set f [open somefile.txt]
    while {1} {
        set line [gets $f]
        if {[eof $f]} {
            close $f
            break
        }
        puts "Read line: $line"
    }

Read and print out the contents of a file by fixed-size records:

    set f [open somefile.dat]
    fconfigure $f -translation binary
    set recordSize 40
    while {1} {
        set record [read $f $recordSize]
        if {[eof $f]} {
            close $f
            break
        }
        puts "Read record: $record"
    }

### SEE ALSO

file, open, close, fblocked, Tcl_StandardChannels

### KEYWORDS

channel, end of file
Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc.