爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4649|回复: 13

[求助] 不知道列的情况下Read数据遇到的问题?(已解决)

[复制链接]
发表于 2014-7-24 23:42:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 aa22556688 于 2014-7-25 12:35 编辑

导师给了一些dat格式的数据,但是不知道列,参照不知道行的情况写写了一个程序读,然后写成txt格式数据的程序,但是发现一个很奇怪的现象,先把代码贴出来,在说问题,代码如下:
integer i
real tt(501)
open(10,file='G:\data\ix1\temp200005.dat')
open(20,file='G:\data\shiyan.txt')
10 read(10,*,end=100)(tt(i),i=1,501)
write(20, *) (tt(i),i=1,501)
goto 10
100 continue
close(10)
close(20)
end

同学是Fortran4.0,他可以运行成功,但是代码在我电脑上运行了就会出问题,可以运行成功,但是shiyan.txt文件里面没有数据,同学的里面是可以写出来数据的
后来我以为是版本的问题,就卸载了Fortran6.0,安装了4.0,但是安装完后,同样的代码,一点都没改,就会出现下面图中的错误,
有没有大神知道是什么原因?求解释!!!


QQ截图20140724234114.png

dushu2.f90

233 Bytes, 下载次数: 0, 下载积分: 金钱 -5

temp200005.dat

866.33 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
发表于 2014-7-25 01:32:29 | 显示全部楼层
搜索一下报错信息会有很多解答的
http://bbs.csdn.net/topics/60260961
至于用6.6时没有数据的错误就不清楚了

评分

参与人数 1金钱 +10 收起 理由
aa22556688 + 10 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao
发表于 2014-7-25 08:14:48 | 显示全部楼层
现在怀疑,你的FORTRAN Powerstation 4.0 安装的时候 是选择了路径的  如果默认路径安装 或许会好

评分

参与人数 1金钱 +10 收起 理由
aa22556688 + 10 问题已经解决,重新安装了一下,谢谢!

查看全部评分

密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2014-7-25 08:43:25 | 显示全部楼层
直接程序贴上来  还有测试数据

评分

参与人数 1金钱 +10 收起 理由
aa22556688 + 10 问题已经解决,非常感谢!

查看全部评分

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-25 08:59:15 | 显示全部楼层
topmad 发表于 2014-7-25 08:14
现在怀疑,你的FORTRAN Powerstation 4.0 安装的时候 是选择了路径的  如果默认路径安装 或许会好

是修改了安装路径,但是以前也是修改了安装路径都没有问题,这个会不会是同时安装了两个版本的fortran的问题,后来我把两个版本都卸载,又新安装了4.0,但是还是图中的问题。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-25 08:59:57 | 显示全部楼层
mofangbao 发表于 2014-7-25 08:43
直接程序贴上来  还有测试数据

数据和程序已经贴出来,不知都为什么同学那里可以读出来,我的就不行
密码修改失败请联系微信:mofangbao
发表于 2014-7-25 09:55:57 | 显示全部楼层
版本问题吧,可能兼容的问题吧,你的goto,continue用成循环试试,我的感觉goto,continue容易造成混淆

评分

参与人数 1金钱 +10 收起 理由
aa22556688 + 10 问题,已经解决了,非常感谢!

查看全部评分

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-25 11:15:20 | 显示全部楼层
whmooncool 发表于 2014-7-25 09:55
版本问题吧,可能兼容的问题吧,你的goto,continue用成循环试试,我的感觉goto,continue容易造成混淆

如果循环直接写 行列的话 会提示数组超出范围,

do i=1, 177
    read(10,*)(tt(i,h),j=1,501)
enddo

这样的话 根本读不出来
密码修改失败请联系微信:mofangbao
发表于 2014-7-25 11:18:54 | 显示全部楼层
aa22556688 发表于 2014-7-25 11:15
如果循环直接写 行列的话 会提示数组超出范围,

do i=1, 177

这句有问题吧,这个1771怎么来的?而且你定义tt这个变量是个一维的数组吧?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-25 11:20:31 | 显示全部楼层
whmooncool 发表于 2014-7-25 11:18
这句有问题吧,这个1771怎么来的?而且你定义tt这个变量是个一维的数组吧?

177是把dat数据导入到excel里面可以看到的,但是列有问题
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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