Scroll to navigation

PREAD(2) 리눅스 프로그래머 매뉴얼 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 는 실패할수 있고 errnoread(2)lseek(2) 가 가리키는 어떤 에러로 설정할수 있다. pwrite 는 실패할수 있고 errnowrite(2)lseek(2)가 가리키는 어떤 에러로 설정할수 있다.

호환

Unix98

역사

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

관련 항목

read(2), write(2), lseek(2)

역자

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

1999년 1월 21일 Linux 2.2.0-pre9