Как очистить вывод в файл после каждой записи с помощью программы gfortran Fortran 90?

Я запускаю цикл в программе Fortran 90, которая выводит числовые значения в выходной файл для каждой итерации цикла. Проблема в том, что вывод не сохраняется в файл, но каждые столько шагов. Как заставить его смывать каждый шаг?

пример кода:

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

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

close(unit=1)

спасибо заранее.

3 ответов


другой способ, если gfortran реализует его, - вызвать нестандартную подпрограмму flush. Не все компиляторы реализуют это.


вам нужно сделать вывод unbuffered. Попробуйте установить GFORTRAN_UNBUFFERED_ALL переменная окружения для "y", " Y " или 1.


когда мне нужно смыть, я просто закрываю файл и снова открываю. Это неуклюже и медленно, но я не знаю лучшего способа в fortran 90, который будет работать со всеми компиляторами.