差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

Both sides previous revision Previous revision
Next revision
Previous revision
fortran [2009/10/29 21:55]
saito
fortran [2009/12/01 13:59] (現在)
saito
ライン 80: ライン 80:
  
 ===== データファイルの読み込み ===== ===== データファイルの読み込み =====
-データファイルの中に何行あるか分からないときにはendを使う.+ 
 +データファイルの中に何行あるか分からないときにはiostatかendを使う. 
 +iostatの方がスマートなやり方かも. 
 + 
 +==== やり方その1 ==== 
 +read文にiostatのオプションを付ける. 
 +iostatが正の数を返す場合はエラー,負の値を返す場合は行の終わりを意味するらしい. 
 +<code fortran>​ 
 +program hoge 
 +  implicit none 
 +  real a,b 
 +  integer i,​inputstatus 
 +  do i=1,10 
 +     ​read(*,​*,​iostat=inputstatus) a,b 
 +     ​if(inputstatus>​0) stop "​error"​ 
 +     ​if(inputstatus<​0) exit 
 +     ​write(*,​*) a,​b,​a**2-b 
 +  end do 
 +end program hoge 
 +</​code>​ 
 +==== やり方その2 ==== 
 + 
 +endを使う.
  
 以下サンプル.プログラムの中では10回ループを回すが,読み込むのは5行分だけ. 以下サンプル.プログラムの中では10回ループを回すが,読み込むのは5行分だけ.
fortran.1256820930.txt.gz · 最終更新: 2009/10/29 21:55 by saito
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0