Fortranでwrite文を使用して指定した外部ファイルへ書き出す方法です。
Open文で出力先の外部ファイルを指定し、write文で必要なデータを書き出します。
基本的な流れは、read文で外部ファイルを読み込む時と同じです。
1)Open文でファイルを開く
2)write文でファイルを読み込む
3)close文でファイルを閉じる
良く使うので参考してください。
open文でファイルを開く
open文でまずファイルを開きます。
Open(ファイル番号 , file = ファイル名)
ファイル番号は、5番がキーボード入力、6番がディスプレイ出力に割り当てられているので、これらの番号以外の整数を指定します。
write文で書き出す
つぎにwirte文でファイルを書き出します。
write(ファイル番号 , 書式) 出力内容, ・・・
write文によるデータの書き出しは一行ずつ書き出されます。
複数行にわたってデータを書き出す場合は、繰り返し文を併用します。
例えば、大きさが10の1次元配列dataに格納されているデータを書き出す場合は次のようになります。
Do i=1,10
write(10,*) data(i-1)
Loop
また、配列が2次元配列の場合は
Do i=1,10
write(10,*) (data(i-1,j-1),j=1,2)
Loop
となります。
ファイル番号
ファイル番号は、open文で指定した番号を指定します。
モニターへ結果を出力させたいときは、ファイル番号を6番で指定するか、アスタリスク「*」を指定します。モニターのみへ出力する場合は、open文での書き出し先のファイル指定は不要です。
書式
書き出すデータなどの書式を指定します。'(書式)’ のようにシングルクオーテーションと括弧で挟んだ内側に記入し、出力内容の数だけ指定します。
出力内容が複数あり、同じ書式の場合はまとめて書くことができます。
書式については、次の記事で紹介しています。
出力内容
文字列や値を直接指定して出力するか、変数や配列を指定して格納されているデータを出力することができます。
基本的に、一度のwrite文で書き出されるデータは一行ずつとなります。同じ行内に続けてデータを書き出したいときは、カンマ「,」でつなげることで出力できます。
文字列を直接書き出す
文字列を直接書き出す場合は、シングルクオーテーションで囲むことで可能となります。
例えば、ファイル10番のファイルに”文字列”と出力する場合は次のように書きます。
write(10,*)'文字列'
close文でファイルを閉じる
ファイル内容を読み込み終えたら、close文でファイルを閉じます。read文でファイルを読み込む時と同様です。
close(ファイル番号)
以上です。
Fortranに関する記事のまとめはこちら
コメント