Построчное чтение текстового файла с разделителями-запятыми в Fortran

] Я новичок в Фортране. Я хотел бы иметь возможность читать текстовый файл и сохранять его содержимое в отдельных переменных. Я нашел очень полезный учебник по Fortran ( http://www.math.hawaii.edu/~hile/fortran/fort7.htm#read ), и я пытаюсь следовать один из примеров, перечисленных там. В частности, я создал текстовый файл с именем data.txt со следующим текстом:

1.23, 4.56, 7.89
11, 13, "Sally"

Я сохранил этот текстовый файл в моем текущем каталоге. Затем я создал файл test.f90 (также сохраняет его в моем текущем каталоге), содержащий следующий код:

PROGRAM test
  IMPLICIT NONE

  REAL :: x, y, z
  INTEGER :: m, n
  CHARACTER first*20

  OPEN(UNIT = 7, FILE = "data.txt")
  READ(7,*) x, y, z
  READ(7,*) m, n, first

  PRINT *, x
  PRINT *, y
  PRINT *, z
  PRINT *, m
  PRINT *, n
  PRINT *, first
END PROGRAM test

Я использую компилятор GNU Fortran, который, как мне кажется, включает функции, по крайней мере, до Fortran95 включительно. код компилируется нормально, по крайней мере, с настройками по умолчанию). Но когда я запускаю получившийся исполняемый файл, я получаю следующее сообщение об ошибке:

At line 10 of file test.f90 (unit = 7, file = 'data.txt')
Fortran runtime error: End of file

Строка 10 - это строка READ (7, *) m, n, first . Не могли бы вы помочь мне понять, что я делаю неправильно в приведенном выше коде?

6
задан tshepang 22 April 2014 в 21:53
поделиться