pread - システムコールの説明 - Linux コマンド集 一覧表
名前
pread, pwrite - ファイル・ディスクリプタを指定したオフセットで読み書きする
書式
#define _XOPEN_SOURCE 500
#include <unistd.h>
ssize_t pread(int
fd
, void *
buf
, size_t
count
, off_t
offset
);
ssize_t pwrite(int
fd
, const void *
buf
, size_t
count
, off_t
offset
);
説明
pread ()はファイル・ディスクリプター fd の(ファイルの先頭からの)オフセット offset から最大 count バイトをバッファ buf へ読み込む。ファイル・オフセットは変化しない。
pwrite ()はバッファ buf から最大 count バイトをファイル・ディスクリプター fd のオフセット offset に書き込む。ファイル・オフセットは変化しない。
fd で参照されるファイルはシーク(seek)が可能でなければならない。
返り値
成功した場合、読み書きを行ったバイト数が返される。(ゼロは、pwrite () の場合には何も書かれなかったことを意味する。pread () の場合にはファイル の最後に達したことを意味する) エラーの場合は -1 が返され、 errno がそのエラーを示すように設定される。
エラー
pread ()では read (2) および lseek (2) で指定された全てのエラーが発生し、 errno を設定する可能性がある。 pwrite ()では write (2) および lseek (2) で指定された全てのエラーが発生し、 errno を設定する可能性がある。
準拠
POSIX.1-2001.
履歴
pread () と pwrite () システム・コールは Linux にバージョン 2.1.60 で加えられた。i386 のシステムコールのエントリは 2.1.69 で加えられた。 libc におけるサポートは(システムコールを持たない古いカーネルでの エミュレーションを含めて) glibc 2.1 で加えられた。