## Tcl8.6.0/Tk8.6.0 Documentation > Tcl Commands, version 8.6.0 > tell

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite 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

tell — Return current access position for an open channel

### SYNOPSIS

tell channelId

### DESCRIPTION

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.

### EXAMPLE

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
    }

### SEE ALSO

file, open, close, gets, seek, Tcl_StandardChannels

### KEYWORDS

access position, channel, seeking
Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc.