FORTRAN WRITE()

kar*_*grz 5 io fortran fortran77

在开始之前,我必须先说明我是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)
Run Code Online (Sandbox Code Playgroud)

我的问题是关于WRITE()声明.

我理解这(2,80)是指文件输出流打开并指向文件'out'并由数字2引用.我理解80指的是标签80引用的格式语句.

STUB用于存储从文件输入1读取的值.这些值是处理的值,并保存MDS(I,J)!-- data processing --!我省略的部分中.

假设(MDS(I,J),J=1,24)将24个整数值写入输出文件,我是否正确?换句话说,循环从1到24?

Tim*_*omb 10

是的,你是对的.语法(MDS(I,J), J=1,24)是" 隐含的DO循环 ",通常用于这种情况.