Como faço para lavar a saída para arquivar após cada gravação com um programa GFORTRAN FORTRAN 90?

StackOverflow https://stackoverflow.com/questions/1533717

  •  20-09-2019
  •  | 
  •  

Pergunta

Estou executando um loop em um programa Fortran 90 que gera valores numéricos para um arquivo de saída para cada iteração do loop. O problema é que a saída não é salva no arquivo, mas a cada tantas etapas. Como faço para que isso ligue cada etapa?

Código de exemplo:

open(unit=1,file='output')

do i = 1, 1000
 write(1,*) i
end do

close(unit=1)

Desde já, obrigado.

Foi útil?

Solução

A outra maneira, se o Gfortran o implementa, é chamar a sub-rotina não padrão. Nem todos os compiladores implementam isso.

Outras dicas

Você precisa tornar a saída não tufada. Tente definir o GFORTRAN_UNBUFFED_ALL Variável de ambiente para 'y', 'y' ou 1.

Quando preciso lavar, apenas fecho o arquivo e reabro. Isso é desajeitado e lento, mas não conheço uma maneira melhor no Fortran 90 que funcionará com todos os compiladores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top