kazmax - Linux で自宅サーバー

pread - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. 履歴
  8. 関連項目

名前

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 で加えられた。

関連項目