io - FORTRAN 写()

标签 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)

我的问题是关于 WRITE()陈述。

我明白 (2,80)指打开的文件输出流,指向文件'out'并由数字 2 引用。据我所知,80 指的是标签 80 引用的格式声明。
STUB用于存储从文件输入 1 读取的值。这些值是经过处理的,并保存到 MDS(I,J) 中。在 !-- data processing --!我省略的部分。

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

最佳答案

是的,你是对的。语法 (MDS(I,J), J=1,24)是“implied DO-loop”,通常用于这种情况。

关于io - FORTRAN 写(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1126324/

相关文章:

c - 尝试使用 C 中的 sscanf() 从文件中读取 float 、整数和字符串列表无法按预期工作

c++ - 什么时候应该对流使用 fail 函数?

fortran - 保存文件位置并在 Fortran 90 中返回

io - 在 Fortran 中读取可变长度/类型行

io - Fortran:如何从文件读取数组

c - 如何在c中逐行读取?

Java 文件阅读器不工作,它不会运行代码位

fortran - 在 Fortran 牛顿法中传递附加参数

gcc - 使用gfortran编译: undefined reference to iargc_

fortran - 第一列中的 "d"标签,Fortran 77