【管理人おすすめ!】セットで3割もお得!大好評の用語集と図解集のセット⇒ 建築構造がわかる基礎用語集&図解集セット(※既に26人にお申込みいただきました!)
例えば、フォルダ内にあるテキストファイルをデータとして読み込みたいとき、また、新しいファイルを生成したいとき、そのファイルを上書きしたいときなどは open文を用いています。
open文の関数
open文の関数の基本はとても簡単で、
・open(*,*)
となります。「*」はデフォルトという意味ですが、普通は「*」のまま用いることはありません。個人的に良く使う方法としては、
・open(1, file='step-load.txt',status='old')
のように、フォルダ内に既にあるテキストファイルを開く場合です。この宣言をしたあとにread文を用いることでデータを読み込むことができます。 既に存在するファイルを開くときは「status='old'」と宣言します。
・open(1, file='aaaa.txt',status='replace')
データをテキストファイルで書き出す場合等は「status='replace'」として用います。この宣言をすることで、「file='aaaa.txt'」というファイル名のデータが 存在しなければ、新しくファイルが生成され、存在する場合は「上書き」されます。また、「open(1,」や「open(2,」、「open(3,」とすることで、別々のデータを開いたり、 生成することが可能です。
早速、Fortranで書いてみる。
さて、ダウンロードしたエディタ(僕はTerapad)を開いてプログラムを書いてみます。 まだコンパイラしていません。とりあえず、「Terapad」を利用している方は
「名前をつけて保存」→保存形式を「全てのファイル」として→「○○.f90」と保存してください。
そうすると、F90ファイルが生成されます。
!open文を理解したい
real mm,dt,Pi,hh,mol1,mol2,B,dtt,mx
integer i,i2
open(1, file='step-load.txt',status='old')
!'入力加速度の読み込み'
! zisin-data. から gg() に読み込む
do i = 1,2687
read(1,*) gg(i)
end do
…
!結果ファイルの生成
open(2, file='acc-kekka.txt',status='replace')
open(3, file='vel-kekka.txt',status='replace')
open(4, file='dis-kekka.txt',status='replace')
aaa.f90の説明
以上のように、「open(1, file='step-load.txt',status='old')」で存在するファイルを開きます。そのあと、「read(1,*) gg(i)」で、「gg(i)」という配列に 「step-load.txt」のデータを読み込んでいます。「open(2, file='acc-kekka.txt',status='replace')」で、「acc-kekka.txt」というテキストファイルを生成しています。
有料メルマガを無料で見てみませんか?⇒ 忙しい社会人、学生のためのビルディング・アップデート