我正在尝试使用DO逐行读取文件,并通过读取操作各个行。然而,无论我在哪里看到我不想要的东西,我都会尽量跳过一行。
到目前为止,我拥有的是:
DO J=1,10000
READ(1,'(A150)') ROW
IF (J==A(1)+1 .AND. ROW(17:17)=='|') THEN
WRITE(2, '(A)') ROW(1:12) // ROW(15:150)
ELSEIF (J>A(1) .AND. J<A(2) .AND. ROW(1:1)=='#') THEN
! Here's where I need to skip J and go onto J+1 and then continue the DO loop from there
END IF
END DO
我该怎么做?
使用CYCLE
:
DO J=1,10000
READ(1,'(A150)') ROW
IF ((J==A(1)+1) .AND. (ROW(17:17).EQ.'|')) THEN
WRITE(2, '(A)') ROW(1:12) // ROW(15:150)
ELSEIF (J.GT.A(1) .AND. J.LT.A(2) .AND. ROW(1:1)=='#') THEN
CYCLE
END IF
! More statements here
END DO
正如Hristo所指出的,只有在IF ... END IF
后面有更多语句的情况下,CYCLE
才是必要的。