Fala pessoal, tudo bem?
Estou com um problema para ler um arquivo em formato .dat. Este arquivo tem características próprias que devem ser lidas. Ele tem mais ou menos este formato:
#
# Os # são comentarios do arquivo
#
1 (o 1 deve ser lido, o que esta entre parentêses e comentario)
#
#
#
0.2 (comentario-nao deve ser lido, apenas o dado)
0.2 (comentario-nao deve ser lido, apenas o dado)
0.2 (comentario-nao deve ser lido, apenas o dado)
É mais ou menos isso. A subrotina que criei para ler um arquivo deste é mais ou menos assim:
SUBROUTINE leitura
IMPLICIT NONE
CHARACTER*1 comentario
INTEGER maxline, r, i
PARAMETER (comentario='#', maxline=500)
CHARACTER*132 RECORD(maxline), line
INTEGER var1, var2, var3
REAL var4, var5, var6
OPEN(10, file'/diretorio/do/arquivo.dat', status='old')
WRITE(*,*) 'Lendo o arquivo.dat'
r=0
DO i=1,maxline
r=r+1
READ(10, '(a132)', END=100)
IF(line(1:1).EQ.comentario) THEN
r=r-1
ELSE
RECORD(r)=line
ENDIF
ENDDO
CLOSE(10)
r=1
line=RECORD(r)
READ(line,*) var1
r=r+1
line=RECORD(r)
READ(line,*) var2
r=r+1
line=RECORD(r)
READ(line,*) var3
r=r+1
line=RECORD(r)
READ(line,*) var4
r=r+1
line=RECORD(r)
READ(line,*) var5
.
.
.
CLOSE(10)
RETURN
ENDSUBROUTINE
O programa é mais ou menos esse. Quando mando o programa principal escrever as variáveis, aparece o seguinte erro:
fortt1:severe<59>: list-directed I/O syntax error, unit-5, file Internal List-Directed Read
Alguém pode me ajudar??