LSEEK
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
lseek
- 読取り / 書込みファイルオフセット位置を変更する
索引
ライブラリ
Lb libc
索引
書式
In unistd.h
Ft off_t
Fn lseek int fildes off_t offset int whence
索引
解説
Fn lseek
システムコールは、ディレクティブ
Fa whence
に従ってファイル記述子
Fa fildes
のオフセットを引数
Fa offset
に移動します。
引数
Fa fildes
はオープンファイル記述子でなければなりません。
Fn lseek
システムコールは、次のようにファイル記述子
Fa fildes
に対応するファイル位置ポインタを移動します:
- Fa whence
-
が
SEEK_SET
の場合、オフセットは
Fa offset
バイトに設定されます。
- Fa whence
-
が
SEEK_CUR
の場合、オフセットは現在の位置に
Fa offset
バイトを加算したものに設定されます。
- Fa whence
-
が
SEEK_END
の場合、オフセットはファイルのサイズに
Fa offset
バイトを加算したものになります。
Fn lseek
システムコールによって、ファイルオフセットをファイルの既存のファイルの
終り (EOF) を越えるところに設定できます。
後にデータがこの点に書き込まれると、
それ以後のギャップ内のデータに対する読取りは
(データが実際にギャップ内に書き込まれるまで) データとして 0 を返します。
シークできないデバイスもあります。
そのようなデバイスに対応するポインタの値は未定義になります。
索引
戻り値
処理が正常に完了すると
Fn lseek
は、ファイルの先頭から測定した結果のオフセット位置をバイト単位で返します。
そうでない場合は -1 が返され、エラーを示すために
errno
が設定されます。
索引
エラー
Fn lseek
システムコールは次の場合に処理を失敗し、ファイル位置ポインタは変更されません:
- Bq Er EBADF
-
Fa fildes
引数がオープンファイル記述子ではありません。
- Bq Er EINVAL
-
Fa whence
引数が正しい値ではないか、計算結果のファイルオフセットが
キャラクタ型ではない特殊ファイルに使う負の値となりました。
- Bq Er EOVERFLOW
-
計算結果のファイルオフセットが、
Fa off_t
型のオブジェクトでは正しく表現できない値となりました。
- Bq Er ESPIPE
-
Fa fildes
引数はパイプ、ソケット、または FIFO と対応づけられています。
索引
関連項目
dup(2),
open(2)
索引
バグ
このドキュメントの
Fa whence
の使用法は正しくない英語ですが、歴史的な理由で維持されています。
索引
規格
Fn lseek
システムコールは
St -p1003.1-90
に適合しています。
索引
歴史
Fn lseek
関数は
AT&T System
v7
で登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- バグ
-
- 規格
-
- 歴史
-
Time: 07:06:28 GMT, January 12, 2009