lseek()
システムコールは、ディレクティブ
whence
に従ってファイル記述子
fildes
のオフセットを引数
offset
に移動します。
引数
fildes
はオープンファイル記述子でなければなりません。
lseek()
システムコールは、次のようにファイル記述子
fildes
に対応するファイル位置ポインタを移動します:
|
whence
が
SEEK_SET
の場合、オフセットは
offset
バイトに設定されます。
|
|
whence
が
SEEK_CUR
の場合、オフセットは現在の位置に
offset
バイトを加算したものに設定されます。
|
|
whence
が
SEEK_END
の場合、オフセットはファイルのサイズに
offset
バイトを加算したものになります。
|
lseek()
システムコールによって、ファイルオフセットをファイルの既存のファイルの
終り (EOF) を越えるところに設定できます。
後にデータがこの点に書き込まれると、
それ以後のギャップ内のデータに対する読取りは
(データが実際にギャップ内に書き込まれるまで) データとして 0 を返します。
シークできないデバイスもあります。
そのようなデバイスに対応するポインタの値は未定義になります。