Как мне сбросить вывод в файл после каждой записи с помощью программы gfortran Fortran 90?
Вопрос
Я запускаю цикл в программе на Фортране 90, который выводит числовые значения в выходной файл для каждой итерации цикла.Проблема в том, что выходные данные сохраняются не в файл, а через каждые несколько шагов.Как мне заставить его сбрасывать каждый шаг?
Пример кода:
open(unit=1,file='output')
do i = 1, 1000
write(1,*) i
end do
close(unit=1)
Заранее спасибо.
Решение
Другой способ, если gfortran его реализует, — вызвать нестандартную подпрограмму сброса.Не все компиляторы реализуют это.
Другие советы
Вам нужно сделать вывод небуферизованным.Попробуйте установить GFORTRAN_UNBUFFERED_ALL переменную среды равным «y», «Y» или 1.
Когда мне нужно сбросить данные, я просто закрываю файл и открываю снова.Это неуклюже и медленно, но я не знаю лучшего способа в Фортране 90, который работал бы со всеми компиляторами.