FTELL — 현재 파일 위치 얻기
FTELL — 현재 파일 위치 얻기
파일을 읽다가 '지금 어디까지 읽었지?'가 궁금해질 때가 있어요. FTELL는 열려 있는 파일 안에서 현재 위치(오프셋)를 알려주는 내장 함수입니다. FSEEK로 위치를 옮겼다면 그 결과를 확인할 때도 자주 쓰게 돼요.
시그니처
CALL FTELL(UNIT, OFFSET)
OFFSET = FTELL(UNIT)
본문
설명(Description)
FTELL는 열려 있는 파일 내부의 현재 위치를 가져와요. 이 내장 함수는 서브루틴과 함수 두 형태로 제공되지만, 하나의 프로그램 단위 안에서는 둘 중 하나의 형태만 쓸 수 있어요.
분류(Class)
서브루틴, 함수(Subroutine, function)
인자(Arguments)
OFFSET—INTEGER타입이어야 해요.UNIT—INTEGER타입이어야 해요.
반환값(Return value)
두 문법 모두에서 OFFSET은 단위 번호 UNIT의 현재 오프셋으로 설정돼요. 해당 단위가 현재 열려 있지 않으면 -1이 설정됩니다.
예제
PROGRAM test_ftell
INTEGER :: i
OPEN(10, FILE="temp.dat")
CALL ftell(10,i)
WRITE(*,*) i
END PROGRAM
파일을 단위 10으로 열자마자 ftell로 현재 위치를 얻어 출력하는 예시예요. 막 연 파일이므로 위치는 보통 0이 나와요.
표준(Standard)
GNU 확장(GNU extension)
더 알아보기
FSEEK — 저수준 파일 위치 이동 서브루틴