PREAD(2)

이름
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 로 시작하는 버퍼를 파일 기술자 fd 의 변위 offset에다가 count 바이트를 쓴다. 파일 변위는 바뀌지 않는다.

The file referenced by fd 가 가리키는 파일은 이동할수 있어야 한다.

반환값
성공시, 읽거나 쓴 바이트 수가 반환된다.(pwrite 의 경우 0은 어떤 것도 쓰여지지 않았다는 것을 가리키며 pread 의 경우는 파일의 끝을 가리킨다.) 에러시 -1이 반환되며 errno 는 에러를 가리키도록 설정된다.

에러
pread 는 실패할수 있고 errno 를 read(2) 나 lseek(2) 가 가리키는 어떤 에러로 설정할수 있다. pwrite 는 실패할수 있고 errno 를 write(2) 나 lseek(2)가 가리키는 어떤 에러로 설정할수 있다.

호환
Unix98

역사
pread 와 pwrite 시스템 콜들은 버전 2.1.60 에서 추가되었다; i386 시스템 콜 테이블의 엔트리는 2.1.69 에 추가되었다. libc 지원은(시스템 콜 없이 예전 커널의 에뮬레이션을 포함하여) glibc2.1에서 추가되었다.

관련 항목
read(2), write(2), lseek(2)

역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 9월 19일