tell - Return current access position for an open channel
tell channelId
Returns an integer string giving the current access position in
channelId. This value returned is a byte offset that can be passed to
seek in order to set the channel to a particular position. Note that
this value is in terms of bytes, not characters like
read. The value
returned is -1 for channels that do not support seeking.
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 a line from a file channel only if it starts with
foobar:
# Save the offset in case we need to undo the read...
set offset [ tell $chan]
if {[read $chan 6] eq "foobar"} {
gets $chan line
} else {
set line {}
# Undo the read...
seek $chan $offset
}
file(3tcl),
open(3tcl),
close(3tcl),
gets(3tcl),
seek(3tcl),
Tcl_StandardChannels(3tcl)
access position, channel, seeking