eof(3tcl)

eof3tcl

Check for end of file condition on channel

Usage

eof channelId


    


    


    

Overview

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"
}

Keywords

channel, end of file

Releases

18 releases since Debian 1.1 (Buzz); the text changed 9 times.

  1. 1.1–1.3
  2. 2.0
  3. 2.1–3.0
  4. 3.1–4.0
  5. 5.0
  6. 6.0
  7. 7
  8. 8–9
  9. 10
  10. 11–13

From tcl8.6-doc 8.6.16+dfsg-1 in Debian 13 (Trixie). Also shipped by tcl9.0-doc. Parsed by carta from the page's man source.