跳轉到內容

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
華夏公益教科書