在开始之前,我必须先声明我是 FORTRAN 的新手。我正在维护 1978 年的一段遗留代码。其目的是从文件中读取一些数据值,处理这些值,然后将处理后的值输出到另一个文本文件。
给定以下 FORTRAN 代码:
INTEGER NM,STUBS,I,J,K
PARAMETER (NM=67,STUBS=43)
INTEGER*4 MDS(STUBS,NM)
CALL OPEN$A(A$RDWR,'/home/test/data.txt', MAXPATHLEN,1)
CALL OPEN$A(A$WRIT,'out',11,2)
DO 90 I=1,2
READ(1,82) STUB
!-- data processing --!
WRITE(2,80) STUB,(MDS(I,J),J=1,24)
90 CONTINUE
80 FORMAT(/1X,A24,25I5)
82 FORMAT(1X,A24,25F5,1)
我的问题是关于WRITE()
声明的。
我理解是(2,80)
指打开并指向文件的文件输出流'out'
并由数字2引用。我理解80是指标签80引用的格式语句。
STUB
用于存储从文件输入 1 读取的值。这些值是经过处理的,并保存MDS(I,J)
在!-- data processing --!
我省略的部分中。
我是否正确假设(MDS(I,J),J=1,24)
会将 24 个整数值写入输出文件?换句话说,从 1 循环到 24?