我在Fortran中编写代码以从文件中读取属性列表,并使用IOSTAT函数跳过无效数据。相关的代码部分如下:
do j=1,1000
read(22,*,IOSTAT=ios) step,T,K,U,Tot,P
If(IS_IOSTAT_END(ios)) Exit !exits loop if value is not number or end of file
IF(ios.ne.0) cycle
sumT=sumT+T
sumU=sumU+U
sumK = sumK + K
sumKsq = sumKsq + (K**2.d0)
end if
end do
此代码以前在Linux上运行时运行良好,但在Mac OSX上运行时,出现错误消息“IS_IOSTAT_END没有隐式类型”。有人可以解释一下如何解决这个问题吗?
由于
答案 0 :(得分:0)
自Fortran 2003以来定义了内部过程IS_IOSTAT_END(i)
。必须使用足够的最新编译器版本。