Проблемы со сравнением строк в Fortran? - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь сравнить строку с набором значений, считанных в массив символов. Но сравнение не работает так, как ожидается. Я прикрепил приведенный ниже код для проверки.


PROGRAM MWE

CHARACTER(LEN=80)       ::  FILENAME,HEADER,REMARKS
CHARACTER*6,ALLOCATABLE     ::  RESNAME(:)
INTEGER             ::  NHEADER,NATOMS,I

ALLOCATE(RESNAME(10))

FILENAME        =   "./thy_thy_wat.psf"



OPEN(10,FILE=FILENAME,STATUS='OLD',FORM='FORMATTED')

READ(10,'(A4)') HEADER
READ(10,'(B10)')
READ(10,'(T6,I4)') NHEADER

DO I=1,NHEADER
    READ(10,'(A50)') REMARKS
END DO
READ(10,'(B10)')

READ(10,'(T5,I4)') NATOMS

DO I=1,10
    READ(10,'(T19,A5)') RESNAME(I)
END DO

WRITE(*,*) RESNAME

IF (RESNAME(1) == "THY") THEN
WRITE(*,*) "YES"
END IF

END PROGRAM MWE

Я могу визуально проверить, что значения совпадают, но код не ' не дать это. Буду признателен за любую помощь https://drive.google.com/file/d/1WHOv65Lbb3PRSuE2YwMAZk1L-uqYDhXb/view?usp=sharing - это ссылка на файл, который читается с использованием вышеуказанного кода.

РЕДАКТИРОВАТЬ: мне удалось решить проблему, поиграв с вкладками , Спасибо всем за помощь.

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