跳转到内容

Perl 编程/关键字/sysseek

来自维基教科书,面向大众的开放书籍
上一个: sysread 关键字 下一个: system

sysseek关键字

[编辑 | 编辑源代码]

sysseek使用lseek(2)以字节为单位设置文件句柄位置。该FILEHANDLE也可以是计算结果为文件句柄的表达式。WHENCE可以取值 0 以设置POSITION以字节为单位,1 以使其设置为当前位置加上POSITION,以及 2 以将其设置为EOF加上POSITION.

sysseek在成功时返回新位置,并在undef否则。出于性能方面的考虑,即使FILEHANDLE已设置为在字符上操作,函数 tell() 将返回字节偏移量。

不要使用sysseek与除了 sysreadeofprintseektellwrite 以外的读取一起使用,因为它会绕过正常的缓冲 I/O。

对于WHENCE,常量SEEK_SET, SEEK_CUR以及SEEK_END应出于可移植性原因而使用,而不是 0、1 或 2。

  sysseek FILEHANDLE, POSITION, WHENCE
use Fcntl 'SEEK_CUR';
sysseek($_[0], 0, SEEK_CUR);
syscall sysopen sysread sysseek system syswrite
上一个: sysread 关键字 下一个: system
华夏公益教科书