GETARG — 명령줄 인자 얻기

GETARG — 명령줄 인자 얻기

프로그램을 실행할 때 넘긴 명령줄 인자를 코드 안에서 꺼내 쓰고 싶을 때가 있어요. GETARG는 명령줄에서 전달된 POS번째 인자를 가져오는 서브루틴입니다. Fortran 77 스타일의 하위 호환용 함수예요.

출처: gfortran 공식 문서 - GETARG

시그니처

CALL GETARG(POS, VALUE)

본문

설명(Description)

GETARG는 포함하는 프로그램이 실행될 때 명령줄에서 전달된 POS번째 인자를 가져와요. 이 내장 루틴은 GNU Fortran 77과의 하위 호환성을 위해 제공됩니다. 새 코드에서는 Fortran 2003 표준이 정의한 GET_COMMAND_ARGUMENT 내장 함수를 쓰는 걸 고려하세요.

분류(Class)

서브루틴(Subroutine)

인자(Arguments)

  • POSINTEGER 타입이어야 하고 기본 정수 kind보다 크면 안 돼요. POS ≥ 0
  • VALUECHARACTER 타입이어야 하고 기본 kind여야 해요.

반환값(Return value)

GETARG가 반환된 후 VALUE 인자는 POS번째 명령줄 인자를 담아요. VALUE가 인자를 담을 수 없으면 VALUE 길이에 맞게 잘립니다. 명령줄에 지정된 인자가 POS개보다 적으면 VALUE는 공백으로 채워져요. POS = 0이면 VALUE는 프로그램 이름으로 설정됩니다(이 기능을 지원하는 시스템에서).

예제

PROGRAM test_getarg
  INTEGER :: i
  CHARACTER(len=32) :: arg

  DO i = 1, iargc()
    CALL getarg(i, arg)
    WRITE (*,*) arg
  END DO
END PROGRAM

iargc()로 인자 개수를 얻고, 그 개수만큼 돌면서 getarg로 각 인자를 꺼내 출력하는 전형적인 예시예요.

표준(Standard)

GNU 확장(GNU extension)

더 알아보기

GNU Fortran 77 호환 함수: IARGC — 명령줄 인자 개수 얻기 / Fortran 2003 함수·서브루틴: GET_COMMAND — 전체 명령줄 얻기, GET_COMMAND_ARGUMENT — 명령줄 인자 얻기, COMMAND_ARGUMENT_COUNT — 명령줄 인자 개수 얻기