回 帖 发 新 帖 刷新版面

主题:新手求救 读取文件的问题

我编了一个写文件、读文件的小程序,下面是代码:
           program main
    implicit none
    integer i,j
    open(10,file='test.dat')
    do i=1,20
    write(10,'(I3)') i*i
    end do
    do i=1,20
    read(10,*) j
    print *,j
    end do
    stop
    end
运行后总出现end-of-file,听高手说是读取错误,但是应该怎么改呢,谢谢各位啊!

回复列表 (共3个回复)

沙发

我刚才突然想到了,只要把读取位置调回文件开头就行了,使用rewind(10),问题解决了,希望能对同样遇到此类问题的朋友有所帮助。

板凳

文件写入完成后,光标停在文件最后的位置,重新读取时下面当然没有东西了,所以报错,加上rewind(10)或将文件关闭再打开都可以
    program main
    implicit none
    integer i,j,k
    open(10,file='test.dat')
    do i=1,20
    write(10,'(I3)') I*i
    end do 
    rewind(10)
    do i=1,20
    read(10,*) j
    print *,j
    end do 
   close(10)
    stop
    end

3 楼

也可以读完后关闭,下次读的时候再打开就行了,不过这样是比较麻烦的
直接用rewind(10)

我来回复

您尚未登录,请登录后再回复。点此登录或注册