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

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

  •  20-09-2019
  •  | 
  •  

Вопрос

Я запускаю цикл в программе на Фортране 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, который работал бы со всеми компиляторами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top