pread

Autres langues

Langue: ja

Version: 1999-01-21 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

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 ¤òÀßÄꤹ¤ë²ÄǽÀ­¤¬¤¢¤ë¡£

¥Ð¡¼¥¸¥ç¥ó

¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë pread() ¤È pwrite() ¤Ï Linux ¤Ë¥Ð¡¼¥¸¥ç¥ó 2.1.60 ¤Ç²Ã¤¨¤é¤ì¤¿¡£i386 ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥¨¥ó¥È¥ê¤Ï 2.1.69 ¤Ç²Ã¤¨¤é¤ì¤¿¡£ libc ¤Ë¤ª¤±¤ë¥µ¥Ý¡¼¥È¤Ï(¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»ý¤¿¤Ê¤¤¸Å¤¤¥«¡¼¥Í¥ë¤Ç¤Î ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò´Þ¤á¤Æ) glibc 2.1 ¤Ç²Ã¤¨¤é¤ì¤¿¡£

½àµò

POSIX.1-2001.

´ØÏ¢¹àÌÜ

lseek(2), read(2), write(2), feature_test_macros(7)