当我尝试使用以下代码示例读取txt文件时:
double precision inp(100)
open(1,file='whatever.txt')
do i=1,100
read(1,*) inp(i)
enddo
close(1)
程序刚到达读句时就结束了。我尝试了其他方法来编写循环,比如
do
read(1,*) inp
enddo
但它是一样的。有趣的是,如果我用fortran或手写一个txt然后我尝试阅读它,它的工作原理!!
我绝望,拜托,帮助我。
答案 0 :(得分:0)
以下是一些想法:
使用iostat
和iomsg
找出读取失败的原因:
integer :: iostat
character(len=100) :: iomsg
read(unit=u, fmt=*, iostat=iostat, iomsg=iomsg) inp(i)
if (iostat /= 0) then
print *, "Error reading inp"
print *, "i was ", i
print *, "Error was: ", trim(iomsg)
end if