DOKK / manpages / debian 10 / tcl8.6-doc / eof.3tcl.en
eof(3tcl) Tcl Built-In Commands eof(3tcl)


eof - Check for end of file condition on channel

eof channelId


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.

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

file(3tcl), open(3tcl), close(3tcl), fblocked(3tcl), Tcl_StandardChannels(3tcl)

channel, end of file

7.5 Tcl