Manpages

이 름

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이 가 리 키 는 스 트 림 을 위 한 파 일 위 치 지 정 자 를 설 정 한 다 . 바 이 트 로 측 정 되 는 새 위 치 는 whence가 지 정 하 는 위 치 에 offset 를 더 하 여 얻 어 진 다 . 만 일 whenceSEEK_SET, SEEK_CUR, 또 는 SEEK_END로 설 정 한 다 면 , 오 프 셋 은 각 각 파 일 의 시 작 , 현 재 위 치 지 정 자 , 또 는 EOF와 관 계 가 된 다 . fseek 함 수 의 연 속 적 인 호 출 은 스 트 림 을 위 한 EOF 지 정 자 를 지 우 고 같 은 스 트 림 에 서 ungetc(3) 함 수 의 효 과 를 원 상 태 로 돌 린 다 .

ftell 함 수 는 stream이 가 리 키 는 스 트 림 을 위 해 파 일 위 치 지 정 자 의 현 재 값 을 얻 는 다 .

rewind 함 수 는 stream 이 가 리 키 는 스 트 림 을 위 한 파 일 위 치 지 정 자 를 파 일 의 시 작 으 로 설 정 한 다 . 다 음 은 :

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

스 트 림 을 위 한 에 러 지 정 자 도 지 운 다 는 것 을 제 외 하 고 같 다 . ( clearerr(3)).

fgetposfsetpos 함 수 는 ftellfseek 과 동 일 하 게 선 택 할 수 있 는 인 터 페 이 스 이 며 (whence를 SEEK_SET로 설 정 ), pos가 가 리 키 는 객 체 나 객 체 에 서 파 일 오 프 셋 의 현 재 값 을 설 정 하 고 저 장 한 다 . 몇 몇 비 -UNIX 시 스 템 에 서 fpos_t 객 체 는 복 잡 한 객 체 이 며 이 들 루 틴 들 은 호 환 성 을 위 해 텍 스 트 스 트 림 을 재 배 치 시 키 는 유 일 한 방 법 이 다 .

반 환 값

rewind 함 수 는 어 떤 값 도 반 환 하 지 않 는 다 . 성 공 적 인 완 성 시 , fgetpos, fseek, fsetpos 는 0을 반 환 하 고 ftell 은 현 재 오 프 셋 을 반 환 한 다 . 그 렇 지 않 으 면 −1이 리 턴 되 며 전 역 변 수 errno는 에 러 를 가 리 키 도 록 설 정 된 다 .

에 러

EBADF

지 정 된 stream 은 탐 색 가 능 한 스 트 림 이 아 니 다 .

EINVAL

argument to fseekwhence 인 자 가 SEEK_SET, SEEK_END, 또 는 SEEK_CUR 가 아 니 다 .

함 수 fgetpos, fseek, fsetpos, 그 리 고 ftell 은 실 패 할 수 있 으 며 이 때 루 틴 fflush(3), fstat(2), lseek(2), 그 리 고 malloc(3) 위 해 지 정 된 에 러 중 하 나 로 errno 를 설 정 한 다 .

호 환

fgetpos, fsetpos, fseek, ftell, 그 리 고 rewind 함 수 는 ANSI X3.159-1989 (’’ANSI C’’)과 호 환 된 다 .

관 련 항 목

lseek(2)

역 자

정 강 훈 <skyeyes [AT] soback.net>, 2001년 4월 30일

COMMENTS