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
Avatar de zrhans

Posted by

Uma resposta para “Fortran – lendo arquivos ascii”.

  1. Como você faria caso a primeira linha do arquivo de dados fosse um conjunto de caracteres? Isto é muito comum para explicar o significado dos valores distribuídos nas colunas do arquivo de dados.

    Curtir

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Site criado com WordPress.com.

%d blogueiros gostam disto: