Fortran/テキスト入出力
Program Hello
Print *, "Hello World!"
end program
のようにコード実行すると、
Hello World!
と表示される。
Print の使い方の規則は、「Print 書式,出力しようとする文字列 」という規則である。書式が「*」の場合は標準設定の書式になるので、普通のコンパイラなら例のコードの場合なら「Hello World!」と表示されるという仕組みである。
書式の使いかたは、たとえば表示したい文言が数値「1234」なら、
Program Hello
Print"(I6)", 1234
end program
のようにソースコードを書くと、これは6文字ぶんのスペースを確保し、
1234
のように表示される。「1234」の前に2文字ぶんの空白が確保された形で表示される。
- ファイル入出力
Fortranプログラムは,read文を用いて標準入力またはファイルから読み込み,print文を用いて標準出力に書き込むことができます.write文では、標準出力やファイルに書き込むことができます。ファイルに書き込む前に、ファイルをオープンして、プログラマがファイルを参照するためのユニット番号を割り当てる必要があります。writeステートメントを使用してステートメントをデフォルト出力に書き込む場合の構文は、write(*,*)です。使い方は以下の通りです。
program hello_world
implicit none
write (*,*) "Hello World!"
end program
このコードは、print *,
ステートメントを使用した場合と同様に、"Hello World!"をデフォルトの出力(通常は標準出力、スクリーン)に書き込みます。
ファイル出力のデモとして、次のプログラムは、キーボードから2つの整数を読み取り、その整数と積を出力ファイルに書き出します。
program xproduct
implicit none
integer :: i, j
integer, parameter :: out_unit=20
print *, "enter two integers"
read (*,*) i,j
open (unit=out_unit,file="results.txt",action="write",status="replace")
write (out_unit,*) "The product of", i, " and", j
write (out_unit,*) "is", i*j
close (out_unit)
end program xproduct
ファイル "results.txt "にはこれらの行が含まれます。
The product of 2 and 3 is 6
デフォルトでは、各printまたはwriteステートメントは、新しい行に印刷を開始します。例えば、以下のようになります。
program hello_world
implicit none
print *, "Hello"
print *, "World!"
end program
標準出力に出力します。
Hello World!
もし、"Hello World!"を1つのprint文に入れていたら、"Hello World!"というテキストが1行に表示されたことになります。