私はFortran90/95を学んでおり、使用している本には、フォーマットステートメントに対するラインプリンターの影響についての議論がありました。この本によると、プログラムは行の最初の文字を使用して、前の行に対する行の位置を決定します(つまり、「1」は新しいページを開始し、「0」は行をスキップし、「+」は前の行を上書きし、 ''または他の文字は、前の行の下に新しい行を書き込みます)。これをテストするために、コンソールで簡単なプログラムをコンパイルして実行しましたが、この動作は観察されませんでした。
program test
integer :: i = 123
character(13) :: hello = 'Hello, World!'
100 format ('0','Count = ',I3)
write (*,*) hello
write (*,100) i
end program
出力は
Hello, World!
0Count = 123
私が期待していた場所
Hello, World!
Count = 123
なぜこれなのか誰か知っていますか?これはFortran90/95で使用されていないレガシー機能ですか?コンソールへの印刷の特定の動作ですか?書くときに、フォーマットステートメントで特別な最初の文字を宣言する必要があるのはいつか(もしあれば)知りたいです。
私のコンパイラはForce2.0.9で、これはgfortranに基づいていると思います。私はそれをWindows7で実行しており、コンソールはPowerShellです。
助けてくれてありがとう!