2012-05-16 3 views
5

Я обрабатываю много результатов из программ Fortran, и обычно кажется, что выход из этих программ имеет ведущее пространство, то есть столбец символов 1 пуст. Рассмотрим короткую программу leading.f:Почему выход Fortran имеет ведущее пространство?

 program leading 
     print *, "<-- What's that space for?" 
     end program leading 

Имеет выход

<-- What's that space for? 

(да, есть один пробел в начале). Мой вопрос содержится в программе.

+3

Не имея ответа на вопрос, как это сделать, вот как его подавить, если вы этого хотите: используйте строковый отформатированный вывод вместо неформатированного: 'write (*," (A) ")" пространство, действительно? "' –

+2

Лучшее объяснение здесь http://stackoverflow.com/questions/3296237/are-fortran-control-characters-carriage-control-still-implemented-in-compilers – Rook

ответ

10

В эпоху динозавров, когда выход FORTRAN обычно поступал на принтер с воздействием зеленого цвета, некоторые символы в первой колонке печати часто интерпретировались как управляющие коды (линейные каналы, фиды форм и т. Д.). Многие программисты научились явно заполнять колонку 1 своего вывода, если не был определен какой-то особый эффект - и старые привычки умирают!

+1

Aha: http://en.wikipedia.org/wiki/ Line_printer # green_bar_paper –

Смежные вопросы