fseek

Autres langues

Langue: ja

Version: 1993-11-29 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

fgetpos, fseek, fsetpos, ftell, rewind - ¥¹¥È¥ê¡¼¥à¤Î°ÌÃÖ¤òÊѹ¹¤¹¤ë

½ñ¼°

#include <stdio.h>

int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
void rewind(FILE *stream);
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, fpos_t *pos);

ÀâÌÀ

fseek() ´Ø¿ô¤Ï stream ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¤Ë¤ª¤¤¤Æ¡¢¥Õ¥¡¥¤¥ë°ÌÃÖɽ¼¨»Ò (file position indicator) ¤ò¥»¥Ã¥È¤¹¤ë¡£¿·¤¿¤Ê°ÌÃÖ (¥Ð¥¤¥Èñ°Ì) ¤Ï whence ¤Ç»ØÄꤵ¤ì¤¿°ÌÃÖ¤Ë offset ¥Ð¥¤¥È¤ò²Ã¤¨¤ë¤³¤È¤Ë¤è¤Ã¤ÆÍ¿¤¨¤é¤ì¤ë¡£ whence ¤¬ SEEK_SET, SEEK_CUR, SEEK_END ¤Î¤É¤ì¤«¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¾¤ì¥Õ¥¡¥¤¥ë¤ÎÀèƬ¡¢¸½ºß¤Î°ÌÃÖɽ¼¨»Ò¡¢ ¥Õ¥¡¥¤¥ë¤ÎËöÈø¤«¤é¤Î¥ª¥Õ¥»¥Ã¥È¤¬¼è¤é¤ì¤ë¡£ fseek() ´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¤È¡¢¥¹¥È¥ê¡¼¥à¤Î end-of-file ɽ¼¨»Ò¤Ï ¥¯¥ê¥¢¤µ¤ì¡¢¤½¤ì¤Þ¤Ç¤Ë ungetc(3) ´Ø¿ô¤ÇÌᤷ¤¿¥Ç¡¼¥¿¤Ï¤Ê¤«¤Ã¤¿¤³¤È¤Ë¤Ê¤ë¡£

ftell() ´Ø¿ô¤Ï stream ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¤Ë¤ª¤±¤ë¡¢¥Õ¥¡¥¤¥ë°ÌÃÖɽ¼¨»Ò ¤Î¸½»þÅÀ¤Ç¤ÎÃͤòÍ¿¤¨¤ë¡£

rewind() ´Ø¿ô¤Ï stream ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¥¹¥È¥ê¡¼¥à¤Ë¤ª¤¤¤Æ¡¢¥Õ¥¡¥¤¥ë°ÌÃÖɽ¼¨»Ò ¤ò¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë¥»¥Ã¥È¤¹¤ë¡£¤³¤Î´Ø¿ô¤Ï°Ê²¼¤ÈÅù²Á¤Ç¤¢¤ë¡£

(void) fseek(stream, 0L, SEEK_SET)

¤¿¤À¤· rewind() ¤Ç¤Ï¥¹¥È¥ê¡¼¥à¤ËÂФ¹¤ë¥¨¥é¡¼É½¼¨»Ò (error indicator) ¤âƱ»þ¤Ë ¥¯¥ê¥¢¤µ¤ì¤ë ( clearerr(3) ¤ò¸«¤è)¡£

fgetpos() ´Ø¿ô¤È fsetpos() ´Ø¿ô¤Ï¡¢¤½¤ì¤¾¤ì ftell() ¤È fseek() ¤Ç whence ¤Ë SEEK_SET ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÈƱÍͤε¡Ç½¤ò¡¢°Û¤Ê¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÇÄ󶡤¹¤ë¡£ fgetpos() ¤Ï¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤Î¸½ºß¤ÎÃͤò pos ¤¬»²¾È¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ËÊݸ¤·¡¢ fsetpos() ¤Ï¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤ò pos ¤ËÀßÄꤹ¤ë¡£ UNIX °Ê³°¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¤Ï¡¢ fpos_t ¤¬¹½Â¤ÂΤʤɤÎÊ£»¨¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤¬¥Æ¥­¥¹ ¥È¥¹¥È¥ê¡¼¥à¤Ç¥Õ¥¡¥¤¥ë°ÌÃÖ¤òÊѹ¹¤¹¤ëÊýË¡¤Î¤¦¤Á¡¢°Ü¿¢À­¤Î¤¢¤ëÍ£°ì¤Î¤â¤Î ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ë¡£

ÊÖ¤êÃÍ

rewind() ¤ÏÊÖ¤êÃͤò»ý¤¿¤Ê¤¤¡£ fgetpos(), fseek(), fsetpos() ¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£ ftell() ¤Ï¸½ºß¤Î¥ª¥Õ¥»¥Ã¥È¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤ÏÊÖ¤êÃÍ¤Ï -1 ¤È¤Ê¤ê¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬¥»¥Ã¥È¤µ¤ì¤ë¡£

¥¨¥é¡¼

EBADF
»ØÄꤷ¤¿ stream ¤¬¥·¡¼¥¯¤Ç¤­¤Ê¤¤¡£
EINVAL
fseek() ´Ø¿ô¤ËÂФ·¤ÆÍ¿¤¨¤¿ whence °ú¿ô¤¬ SEEK_SET, SEEK_END, SEEK_CUR °Ê³°¤ÎÃͤǤ¢¤Ã¤¿¡£

fgetpos(), fseek(), fsetpos(), ftell() ¤Ï¡¢¤½¤ì¤¾¤ì fflush(3), fstat(2), lseek(2), malloc(3) ¤Ê¤É¤Î¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤¹ºÝ¤Ë¼ºÇÔ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¡£¤³¤Î¾ì¹ç¤Ï ¤½¤ì¤¾¤ìÂбþ¤·¤¿ errno ¤¬ÀßÄꤵ¤ì¤ë¡£

½àµò

C89, C99.

´ØÏ¢¹àÌÜ

lseek(2), fseeko(3)