这可能是一个微不足道的问题,但由于某种原因,我在解决这个问题时遇到了很多麻烦。我正在从一个输入文件中读取,该文件必须在两列中包含一组数字。第一列是表示时间的整数列表(例如 0530)。第二列是 5 位长的真实数据列表,小数点后 3 位(例如 19.213)。两列之间有 3 个空格。我想把它读入我的程序到单独的数组中。我已经在最大可能长度(1440)处统计了数组的维度,如下所示。我想最终在函数中使用这个数组,但我什至无法让输入正常工作。谢谢您的帮助。
PROGRAM readtest1
IMPLICIT NONE
INTEGER, DIMENSION(1440) :: t
REAL, DIMENSION(1440) :: tuvr
OPEN(1, FILE='AP2412.tv', STATUS='old', ACTION='read')
OPEN(2, FILE='timetuvr.txt', STATUS='replace', ACTION='write')
READ(1,100) t, tuvr
100 FORMAT(I5, F8.3)
WRITE(2,100) t, tuvr
END PROGRAM readtest1
哦,当我编译并运行程序时,我收到错误“FORTRAN 运行时错误:在格式化传输中第 2 项预期为 REAL,得到 INTEGER)我相信 fortran 正在直接读取列,这导致了这个问题,但我”我不确定如何解决它。我需要双循环吗?