Fortran Coder

标题: 关于批处理文件 [打印本页]

作者: wxy    时间: 2017-4-13 18:17
标题: 关于批处理文件
我用群里的批处理代码出现图片中错误,找不到哪里出的问题
[Fortran] 纯文本查看 复制代码
program main
    implicit none
    integer i , m
    integer , allocatable :: site(:) , lat(:) , lon(:) ,height(:) , year(:) , month(:) , day(:) , rain1(:) , rain2(:) , rain3(:)
    character(len=37) :: line , filename
!=================================================
!批量读取文件
!=================================================
    open(11,file='1.dat')
    do
        read(11,*) filename

        open(10,file=filename)
!=================================================
!获取文件行数
!=================================================
        i = 0
        Do
          Read (10, *, End=100) line
          i = i + 1
        End Do
        100 m = i
        Rewind (10)
!=================================================
!数据写入test.txt
!=================================================
        allocate(site(m) , lat(m) , lon(m) ,height(m) , year(m) , month(m) , day(m) , rain1(m) , rain2(m) , rain3(m) )
        open (7,file="test.txt")
        do i=1,m
             read (10,*)site(i) , lat(i) , lon(i) ,height(i) , year(i) , month(i) ,day(i) , rain1(i) , rain2(i) , rain3(i)
             write(7,*) site(i),lat(i),lon(i) , year(i) , month(i) , day(i) , rain3(i)
        end do
    end do
end program

QQ截图20170413181816.png (36 KB, 下载次数: 278)

QQ截图20170413181816.png

作者: fcode    时间: 2017-4-13 19:19
你忘了写 deallocate,所以第二次循环的时候,site 等数组已经分配过了。
作者: wxy    时间: 2017-4-13 21:01
本帖最后由 wxy 于 2017-4-13 21:17 编辑
fcode 发表于 2017-4-13 19:19
你忘了写 deallocate,所以第二次循环的时候,site 等数组已经分配过了。

谢谢 现在已经成功批量读取但还是显示 end of life 的错误,因为文件较大暂时还没看出问题,想请教一下,在读取成功的情况下出现这个提示,一般是什麽原因呢

QQ截图20170413205916.png (28.36 KB, 下载次数: 252)

QQ截图20170413205916.png





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2