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

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
バグ
規格
歴史

jman



Time: 07:06:28 GMT, January 12, 2009