inquire文について †inquire はその名の通りいろいろ問い合わせて確認できるらしい. ファイルが開かれているか確認する(opened) †inquire(unit=fileID,opened=TFopen) で,装置番号 fileID が既に展開されているか確認できる.TFopen には logical 値が返される. subroutine FOOBARSUB(...,fileID,...) implicit none !!! input arguments integer, intent(in) :: fileID !!! local variables logical :: TFopen !*** write out if already opened inquire(unit=fileID,err=900,opened=TFopen) if(TFopen)then write(fileID,101) hoge else write(*,*) fileID,'なんてものはない.' endif 101 format(...) ! ... others ... return !!エラー時の処理 900 write(*,*) 'inquireでエラー' end subroutine errをつけているのは,しょうもないミスで計算が止まるのを防ぐため. |