FORTRAN에서 출력하기

FORTRAN에는 두가지 방식의 출력 방식이 있습니다. 첫번째는 PRINT 이고 나머지 하나는 WRITE 입니다. 간단하게 콘솔창에 출력하려면 PRINT를 쓰면 되고, 콘솔창 또는 파일로 출력하려면 WRITE를 씁니다. 먼저 PRINT 는 다음과 같이 쓰여집니다.


PRINT *, '1', 1, 1D0
<OUT PUT>
1           1   1.00000000000000


PRINT 다음에 나오는 "*" 으로 출력 포맷을 정해 줄 수 있습니다. 문자 포맷은 'A' , 'I' 는 정수 그리고 ' F'는 실수 포멧을 정의하는 데 이용됩니다. 예를 들어 다음과 같이 사용됩니다.

PRINT '("TEST", A3, I3, F3.0)', '1', 1, 1D0
<OUT PUT>
TEST  1  1 1.

위 기능들은 모두 WRITE 루틴에서 지원가능하며, WRITE 를 이용하여 콘솔에 출력을 원하면, 첫번째 변수에 '*' 을 입력하여서 자동으로 콘솔에 출력합니다.

WRITE(*,*)  '1', 1, 1D0
WRITE(*,  '("TEST", A3, I3, F3.0)')  '1', 1, 1D0

WRITE의 첫번째 변수는 출력되어지는 파일을 지정해주는 곳입니다. 정의되지 않으면 자동으로 콘솔에서 출력이 되지만, 열려있는 파일변수를 넣어주면 그 파일에 출력을 합니다. 만약에 자주 쓰는 포멧이 있다면, 포멧을 선언해 주고 쓰는 방식도 있습니다.


        WRITE(*, 100)  '1', 1, 1D0
100  FORMAT("TEST:", A3, I3, F3.0)


만약에 자주 쓰는 포멧이 있다면, 먼저 출력 포멧을 설정해 주는 방법이 보다 편리할 것입니다. 마지막으로 WRITE를 이용해서 파일을 출력파일에 출력하는 방식은 다음과 같이 출력 할 수 있습니다.

PROGRAM TEST
    LOGICAL EXIST

    INQUIRE(FILE='TEST.TXT', EXIST=EXIST)
   
    IF (EXIST) THEN
        OPEN(0, FILE='TEST.TXT', STATUS='OLD', POSITION="APPEND", ACTION='WRITE')
    ELSE
        OPEN(0, FILE='TEST.TXT', STATUS='NEW', ACTION='WRITE')
    END IF
   
    WRITE(0,*) "WRITE TEXT"
END PROGRAM

위 예제 코드에서 INQUIRE 루틴은 파일의 유무를 확인하는 작업을 수행합니다. 만약에 파일이 있다면 STATUS 에 'OLD'를 그렇지 않으면 'NEW'를 해야 합니다. 그리고 POSITION을 'APPEND'로 해주면, 해당 파일의 마지막 부분으로 출력위치를 잡아줍니다.


댓글

  1. 안녕하세요 Fortran 관련 해서 문의 드릴 사항이 있는데 혹시 연락 한번 주실 수 있으신가요?

    도움이 필요 합니다. ㅜ

    010-2779-911

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

[Linux, AIX] 사용자 계정 생성 및 설정

[AIX] rpm 설치와 rpm 으로 패키지 설치 및 삭제

Ubuntu 에서 Fortran 시작하기