[SCore-users-jp] omni Fortran レポート
入谷 佳一
iriya @ crc.co.jp
2002年 7月 15日 (月) 14:03:19 JST
入谷です.
omni Fortran を使用して以下の現象に
遭遇したので,ご報告します.
read(io,format, end=999)
でEOF処理をすると,次にreadが呼ばれると
readから処理が戻ってきません.
topで見るとCPUは消費しています.
open (11, file = 'data1.dat')
do while(.true.)
read(11,*,end=999) i
end if
999 continue
close(11)
open (12, file = 'data2.dat')
read(12,*, end=999) i <-------
...
read(io,format, iostat=iost)
ではiostに常に0が入りeofに達すると
最後の行を読み込みます.
そのため下のリストは無限ループになります.
open (11, file = 'data1.dat')
do while(.true.)
read(11,*,iostat=iost) i
if(iost.eq.0) exit
end if
close(11)
----------------------------------------
入谷 佳一 (Iriya Yoshikazu)
(株)CRCソリューションズ
エネルギー技術部 システム安全チーム
Tel. 03-5634-5803 Fax.03-5634-7338
SCore-users-jp メーリングリストの案内