seek(3tcl)

NAME
seek - 改变一个打开的通道的访问位置

总览 SYNOPSIS
seek channelId offset ?origin?

描述 DESCRIPTION

改变 channelId 的访问位置。ChannelId 必须是从以前的 open 或 socket 调用返回的一个通道标识符。offset 和 origin 参数指定在 channelId 中下一次读或写发生的位置。Offset 必须是一个整数(可以是负数) 而 origin 必须是下列之一:

start
    新访问位置是在底层的文件或设备的开始处偏移 offset 字节。

current
    新访问位置是在当前访问位置上偏移 offset 字节；一个负数 offset 在底层文件或设备中反向移动访问位置。

end 新访问位置是在文件或设备的结束处偏移 offset 字节。一个负数 offset 把访问位置置于文件结束之前，而一个正数 offset 把访问位置置于文件结束之后。

The origin argument defaults to start.

即使通道处于非阻塞模式下，在这个命令返回之前，它要刷新为这个通道缓冲的所有输出。它还丢弃所有已被缓冲而未读取的输入。这个命令返回一个空串。如果对其底层文件或设备不支持搜寻(seek)的通道使用了这个命令，则生成一个错误。

注意：offset 值是字节偏移量。seek 和 tell 二者按照字节进行操作，而不是象 read 那样按照字符进行操作。

参见 SEE ALSO
file(n), open(n), close(n), gets(n), tell(n)

关键字 KEYWORDS
access position, file, seek

[中文版维护人]
寒蝉退士

[中文版最新更新]
2001/10/30

《中国 Linux 论坛 man 手册页翻译计划》:
http://cmpp.linuxforum.net