Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Fortran中比较字符串的问题?_String_Fortran - Fatal编程技术网

String Fortran中比较字符串的问题?

String Fortran中比较字符串的问题?,string,fortran,String,Fortran,我试图将字符串与读入字符数组的一组值进行比较。但是这个比较并没有按照预期的方式工作。我已经附上了下面的代码用于检查 PROGRAM MWE CHARACTER(LEN=80) :: FILENAME,HEADER,REMARKS CHARACTER*6,ALLOCATABLE :: RESNAME(:) INTEGER :: NHEADER,NATOMS,I ALLOCATE(RESNAME(10)) FILENAME =

我试图将字符串与读入字符数组的一组值进行比较。但是这个比较并没有按照预期的方式工作。我已经附上了下面的代码用于检查


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

我可以直观地检查这些值是否匹配,但代码没有给出。任何帮助都将不胜感激 是指向使用上述代码读入的文件的链接


编辑:我可以通过玩标签来解决这个问题。谢谢大家的帮助。

RESNAME.EQ。“abc”
Hello@JoopEggen,谢谢你的回答,但我想我应该进一步澄清一下这个用例。我已经将2500个长度为6的字符串读入数组RESNAME(我可以通过打印内容来验证)。我的问题是如何将这些元素与给定字符串进行比较。谢谢对不起,没有MWE。我将更新代码以显示这一点。@HighPerformanceMark@evets我已经用MWE更新了问题,包括您使用
trim
的建议。查看
trim
的引用时,我发现它们无法分配给变量,因为一旦分配,它们就会返回到原始状态。@HighPerformanceMark我已更新MWE,重新生成失败代码的基本部分。我试着使用
trim
,但没用。
RESNAME.EQ。“abc”
Hello@JoopEggen,谢谢你的回答,但我想我应该进一步澄清一下这个用例。我已经将2500个长度为6的字符串读入数组RESNAME(我可以通过打印内容来验证)。我的问题是如何将这些元素与给定字符串进行比较。谢谢对不起,没有MWE。我将更新代码以显示这一点。@HighPerformanceMark@evets我已经用MWE更新了问题,包括您使用
trim
的建议。查看
trim
的引用时,我发现它们无法分配给变量,因为一旦分配,它们就会返回到原始状态。@HighPerformanceMark我已更新MWE,重新生成失败代码的基本部分。我试着使用
trim
,但没用。