NAMELIST I/O
변수 이름과 값이 고정되었을 때 사용하기에 편리
NAMELIST-directed WRITE
PROGRAM Write_NameList
IMPLICIT NONE
INTEGER :: i = 1, j = 2
REAL :: a = -999., b = 0.
CHARACTER(LEN = 12) :: string = 'Test string.'
NAMELIST /mylist/ i, j, string, a, b
OPEN (UNIT = 8, FILE = 'output.nml', DELIM = 'APOSTROPHE')
WRITE (UNIT = 8, NML = mylist)
CLOSE (UNIT = 8)
END PROGRAM Write_NameList
위 소스를 write_namelist.f95로 저장
컴파일 및 프로그램 테스트
NAMELIST-directed READ
PROGRAM Read_NameList
IMPLICIT NONE
INTEGER :: i = 1, j = 2
REAL :: a = -999., b = 0.
CHARACTER(LEN = 12) :: string = 'Test string.'
NAMELIST /mylist/ i, j, string, a, b
OPEN (UNIT = 8, FILE = 'input.nml', DELIM = 'APOSTROPHE')
WRITE (*,'(1X, A)') 'Namelist file before update: '
WRITE (UNIT = *, NML = mylist)
READ (UNIT = 8, NML = mylist)
WRITE (*,'(1X, A)') 'Namelist file after update: '
WRITE (UNIT = *, NML = mylist)
CLOSE (UNIT = 8)
END PROGRAM Read_NameList
위 소스를 read_namelist로 저장
&MYLIST
I = -111
STRING = 'Test 1.'
STRING = 'Different!'
B = 123456.
/
위 자료를 input.nml로 저장
컴파일 및 프로그램 실행
'Programming > Fortran' 카테고리의 다른 글
Insertion sort using linked list (0) | 2009.01.10 |
---|---|
usign direct access, formatted file (0) | 2009.01.06 |
Access to command line arguments (0) | 2009.01.05 |
Interface block을 사용하는 이유 (0) | 2009.01.04 |
Derived data types : database를 읽어 정렬하기 (0) | 2009.01.02 |