爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4891|回复: 2

[求助] 运行总是出现end of file encountered怎么解决

[复制链接]

新浪微博达人勋

发表于 2017-4-14 20:51:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我的编程中要读取一个txt文件,是160行,66列的文件,但是程序编译没错,运行总是没法读入,不知怎么回事,求大神帮助

下面是我的数据中的一部分,贴出来以便看格式
99.00000
99.00000
99.00000
56.66667
110.66667
119.00000
90.33333
122.33333
39.00000
67.00000
93.00000
84.33333
99.00000
99.00000
99.00000
99.00000
193.66667
140.00000
119.66667
64.66667
106.66667
96.00000
83.33333
52.66667
127.66667
96.66667
129.66667
46.33333
103.66667
113.33333
91.00000
46.00000
  

下面是我编的程序的一部分
program main
integer,parameter:: m=160,n=66
real preave(m,n)
  integer i
!读取降水数据
open(11,file='d:/test/678.txt')
do i=1,m
  do j=1,n
   read(11,*) preave(i,j)
  end do
end do

然后运行后就显示下面的问题

run-time error F6501: READ(d:/test/678.txt)
- end of file encountered
Press any key to continue

想问问大家读取文件哪里错了啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-15 09:45:59 | 显示全部楼层
这个循环不对:
do i=1,m
  do j=1,n
   read(11,*) preave(i,j)
  end do
end do
改成:
do i=1,m
   read(11,*) preave(i,:)
end do
read语句每次读一行,因此read语句只能循环m次,一次读一行n个数,正好读完。
原来那种read循环了m*n次,还没循环结束,已经读到文件结束,当然报错。

评分

参与人数 1金钱 +6 收起 理由
lqouc + 6

查看全部评分

密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2017-4-15 16:43:34 | 显示全部楼层
pandasp1213 发表于 2017-4-15 09:45
这个循环不对:
do i=1,m
  do j=1,n

哇!太感谢了,我自己又运行了下,这次对了!原来read语句是这样读的,学习了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表