キーワードが存在する場合iostat
、I/O エラーが発生してもプログラムは停止しません。次に、不適切な値をスカラー変数に読み込もうとすると、i
たとえば、この変数は変更されませんか? 以下はうまくいくようです:
program test
integer :: i, stat
i = 1
do
write (*, "('i = ')", advance='no')
read (*, *, iostat=stat) i
if (stat .eq. 0) then
write (*, "('Valid integer. i has been set to ', I0)") i
else
write (*, "('Bad integer. i is still ', I0)") i
end if
end do
end program test
Fortran 2003 でこの動作を信頼できますか?