第一个单词在gfortran中的字符串中的位置,使用字符变量

时间:2017-08-16 08:42:41

标签: fortran character gfortran

看起来很简单,我已经起草了代码来完成它,但是在我的生活中不能理解为什么它不起作用。

character(len=120) ww
ww="   first_word   2nd_word     "
call locfw(ww,120,i1,i2)
write(6,*) ww(i1:i2)
stop
end

SUBROUTINE LOCFW(WW,NN,I1,I2)
!Returns location (I1:I2) of first word in string WW of length NN.
IMPLICIT NONE
INTEGER, INTENT(IN) :: NN
INTEGER, INTENT(OUT) :: I1,I2
CHARACTER(LEN=NN),INTENT(IN) :: WW
INTEGER I
DO I=1,NN
  IF(WW(I).NE." ") THEN
    I1=I
    EXIT
  ENDIF
ENDDO
DO I=I1+1,NN
  IF(WW(I).EQ." ") THEN
     I2=I-1
     EXIT
   ENDIF
ENDDO
RETURN
END

可能是一些简单的错误,但是虽然我已经在Fortran中编码多年,但我对处理字符的知识却非常有限。 (通常关注数字。)

0 个答案:

没有答案