1

DO を使用してファイルを 1 行ずつ読み取り、個々の行を操作するために読み取りを試みています。ただし、不要なものがある場合は、行をスキップしようとしています。

これが私がこれまでに持っているものです:

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

どうすればいいですか?

4

1 に答える 1

3

使用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が指摘したように、CYCLEの後にさらにステートメントがある場合にのみ必要ですIF ... END IF

于 2012-08-02T20:51:41.850 に答える