19 set 2017

Fortran – lendo arquivos ascii

Snippet para testar leitura em Fortran de arquivos ascii com colunas separadas por vírgula ou espaços.

!http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/chap04/iostatus.html
program exemplo
implicit none
integer :: io = 0 !end of file reached ... < 0 do normal stuff  < Something Wrong...
real :: a,b,c
 character(10) :: arquivo

arquivo = 'dados.csv'
!arquivo = 'dados.txt'

open(1,file = arquivo)

do
    read(1,*,iostat=io)a,b,c
    if (io < 0) exit
    print*,a,b,c
enddo

 close(1)
end program exemplo

Resultado

zrhans:~/workspace/2016-01 $ gfortran learq.f90
zrhans:~/workspace/2016-01 $ ./a.out
   1.20000005       3.40000010      -3.20000005
   2.20000005      -8.39999962       13.1999998
   2.20000005      -8.39999962       13.1999998

dados.txt

1.2 3.4 -3.2
2.2 -8.4 13.2
2.2 -8.4 13.2

dados.csv

1.2,3.4,-3.2
2.2,-8.4,13.2
2.2,-8.4,13.2

Leave a Reply