如果存在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 中的这种行为吗?