Фортран пишет, вставляет 2 перевода строки

В простой процедуре тестирования, которую я сейчас пишу на Fortran90, строка выводится длиннее экрана. При использовании стандартного оператора write (,) вывод в поле "Вместо того, чтобы просто добавить новую строку и продолжить на следующей строке", добавляется вторая новая строка перед продолжением вывода.

Пример кода:

write(*,*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

Выходные данные Intel Visual Fortran Composer XE 2013 SP1:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Почему это? Откуда этот дополнительный перевод строки?

1 ответ

Решение

Используя вывод по списку, который вы делаете со вторым * в аргументах к write Заявление, вы отдаете точный контроль форматирования вывода на прихоти авторов компилятора. Возьмите обратно контроль с определенным форматом, что-то вроде write(*,'(a128)') (заменив 128 на то, что подходит для длины строки, которую вы хотите написать). Посмотрите, что происходит потом.

Вам может быть интересно научиться пользоваться repeat функция для, ну, повторяющихся строк.

Другие вопросы по тегам