爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5060|回复: 4

[求助] fortran 读取多个文件错误

[复制链接]

新浪微博达人勋

发表于 2012-6-29 15:14:54 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 nickbsb 于 2012-6-29 15:16 编辑

program main
implicit none
real aam(121)
real aamh(24)
CHARACTER year(30)*2
data year/'01','02','03','04','05','06','07','08',09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30'/
!data year/'01','02','03','04','05','06','07','08',09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'/
integer n,t,i,yr
stop
do yr=1,30
open (11,file='E:\30-60filter\aam30-60filter\30-60filter\aam30-60-'//year(yr)//'.grd',form='binary')
read(11)  (aam(i),i=1,121)
open(12,file='E:\30-60filter\aam30-60filter\houaverage\hou'//year(yr)//'.grd',form='binary')


出现这个错误
Compiling Fortran...
E:\30-60filter\aam30-60filter\houaverage\houaverage.f90
E:\30-60filter\aam30-60filter\houaverage\houaverage.f90(6) : Error: Unterminated character constant
data year/'01','02','03','04','05','06','07','08',09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30'/
-------------------------------------------------------------------------------------------------------------------------------------------------------------^
E:\30-60filter\aam30-60filter\houaverage\houaverage.f90(6) : Error: Syntax error, found CHARACTER_CONSTANT ',' when expecting one of: * , /
data year/'01','02','03','04','05','06','07','08',09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30'/
----------------------------------------------------^
Error executing df.exe.
houaverage.obj - 2 error(s), 0 warning(s)


求指教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-6-29 16:24:15 | 显示全部楼层
楼主有没有自己根据报错信息进行查找,不是发现个错误就贴上来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-29 22:50:12 | 显示全部楼层
应该是没有问题的呀。
program main
implicit none
integer::i,j,yr
CHARACTER year(2)*2
character(9),dimension(15)::lon
real,dimension(17,16)::ght
data year/'01','02'/
do yr=1,2
    open(11,file='e:/data/grads/test/try/shi/ght_'//year(yr)//'.txt')
    open(13,file='e:/data/grads/test/try/shi/putout_'//year(yr)//'.txt')
……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2012-6-30 01:27:41 | 显示全部楼层
建议楼主换一种文件的书写方式,先用write将整型数写到字符里面,然后用trim语句处理操作。具体可以在论坛看看数据的批处理操作。当然,还有一个简便方法就是讲所有的文件名写到一个txt文件里面,然后用字符数组去读取。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-6-30 19:43:53 来自手机 | 显示全部楼层
楼主批量打开文件的地方错了,//是用来连接字符串的,所以你//year(yr)//前面后面的部分应该是双引号引起来而不是单引号,因为fortran
识别文件是按照字符串识别的!其它错误我不好看,你自己对照报错自己好好检查~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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