Как читать из строки, как будто читая из файла в фортране? - PullRequest
0 голосов
/ 27 марта 2019

Следующий код пытается прочитать файл в блок памяти, в котором хранятся символы, и прочитать данные из этого блока вместо исходного файла. (Код изменен на основе здесь )

      program read_file
      implicit none
      integer :: n
      character(len=:), allocatable :: s
      character(len=5) :: a, b

      open(unit=10, file="read_file.f", action="read",
 1     form="unformatted", access="stream")
      inquire(unit=10, size=n)
      allocate(character(n) :: s)

      read(10) s
      close(10)

      print "(A)", s

      read ( s, * ) a

      read ( s, * ) b

      print *, a

      print * , b ! meant to read from the previously visited place

      end program read_file

При попытке чтения из блока символов 's' программа всегда читает с начала, а не читает непрерывно, как чтение текстового файла. Так что «а» и «б» - это одно и то же. Есть ли способ прочитать 's', как если бы он читал из файла? Спасибо!

...