LINUX.ORG.RU

Форматированный вывод в gfortran (ищется аналог опции -vms интеловского ifort)


0

1

Есть, скажем, такая функция задания форматирования для вывода:

format('+12f10.4')

Теперь вопрос, как в gfortran-е сделать так, чтобы первый символ в строке форматирования (в данном случае "+") воспринимался как командный (в данном случае он означает, что начать вывод в той же строке, что и предыдущий, начинать с первой позиции). Все это интересует в отношении вывода в терминал. Т.е., попросту говоря, нужно, чтобы в терминале обновлялась некоторая информация, новая должна писаться поверх старой.

В принципе, подобное поведение для компиляторов Фортрана было by default много-много лет: если посмотреть книжки по F77, то там отводится довольно много места обсуждению этого вопроса. Но на современых не все так просто.

Интеловский компилятор имеет опцию -vms, которая позволяет проделать этот трюк, что же касается gfortran-а, то поиск с google-ом не дал результата вообще никакого, я даже не смог найти ни одной ссылки по обсуждению этого вопроса (может, я, конечно, не умею правильно искать).

Нашел кое-что, хотя и не самое красивое решение:

Строка, которая будет обновляться, задается так

write(*,'(a1,...)',advance='no')CR,...

а символ CR определен как

CR=char(13)

Похоже, для gfortran другого решения нет.

Alexey-ZAR
() автор топика
Ответ на: комментарий от anonymous

>Есть ещё места, где нельзя заменить фортран на Си?

Есть

Alexey-ZAR
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.