FTELL — 현재 파일 위치 얻기

FTELL — 현재 파일 위치 얻기

파일을 읽다가 '지금 어디까지 읽었지?'가 궁금해질 때가 있어요. FTELL는 열려 있는 파일 안에서 현재 위치(오프셋)를 알려주는 내장 함수입니다. FSEEK로 위치를 옮겼다면 그 결과를 확인할 때도 자주 쓰게 돼요.

출처: gfortran 공식 문서 - FTELL

시그니처

CALL FTELL(UNIT, OFFSET)
OFFSET = FTELL(UNIT)

본문

설명(Description)

FTELL는 열려 있는 파일 내부의 현재 위치를 가져와요. 이 내장 함수는 서브루틴과 함수 두 형태로 제공되지만, 하나의 프로그램 단위 안에서는 둘 중 하나의 형태만 쓸 수 있어요.

분류(Class)

서브루틴, 함수(Subroutine, function)

인자(Arguments)

  • OFFSETINTEGER 타입이어야 해요.
  • UNITINTEGER 타입이어야 해요.

반환값(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 — 저수준 파일 위치 이동 서브루틴