ошибка FOR3852: обнаружена синтаксическая ошибка между QUOTE и [1] - PullRequest
0 голосов
/ 23 июня 2018

У меня есть следующая простая программа на Фортране:

    program quotes
       implicit none
       character*1000 quote       
       integer*4 i

       open(13,file='d:\sp500.new',status='unknown')
       close(13,status='delete')

       open(12,file='d:\sp500.dat')
       open(13,file='d:\sp500.new', status='new')


       do 100 i = 1,61113
          read(12,'(A)') quote          

          if(quote[1] .eq. 'I')write(13,'(A)')quote

100    continue

       end

Я пытаюсь прочитать всю строку, проверить, есть ли первый символ в строке = 'I', и если true, записатьвся строка.У меня есть другие тесты, которые я должен сделать, поэтому мне нужно прочитать символ ввода строки символом

сообщение об ошибке:

D:\quotes.f90(18): error FOR3852: syntax error detected between QUOTE and [1]
Error executing fl32.exe.
quotes.obj - 1 error(s), 0 warning(s)

1 Ответ

0 голосов
/ 23 июня 2018

Правильные скобки индексации массива и подстроки: (), а не [].

Вы также должны всегда использовать : для подстрок, поэтому необходимо quote(1:1).

В Fortran 90 или 95 [] нет. В Fortran 2003 [ items ] - этоконструктор массива.В Фортране 2018 coarray[1] используется для монетного индекса крупнозернистого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...