24小时热门版块排行榜    

查看: 864  |  回复: 4
当前主题已经存档。

anshenyu

铜虫 (小有名气)

[交流] 【求助】fortran怎么读入文件名随输入量变化的文件 已有2人参与

我有一系列的文件 分别是按照年份命名的
如果我需要打开譬如1949年的文件
应该怎么写open语句啊
open(2,file='iy.txt'),iy代表年份
这样好像实现不了啊
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yf0534

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
woshilsh(金币+1):thanks 2010-02-21 10:01
可以把文件名设为一个字符变量,然后通过一个数据文件读入该变量,这样,只要在数据文件中的数据就能达到打开不同文件的目的了
2楼2010-02-21 09:54:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

黄胖胖

木虫 (正式写手)

★ ★
jjdg(金币+1):辛苦了 2010-02-21 19:04
jjdg(金币+1):春节快乐 2010-02-21 19:04
把文件名写到文本里去,再读出来即可
3楼2010-02-21 14:07:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hrzhou

铁杆木虫 (著名写手)

一品黄梅


jjdg(金币+1):辛苦了 2010-04-18 00:40
如果有规律的话,用循环语句把文件名写到一个字符变量中,在open语句中用该字符变量作为文件名就可以了。

[ Last edited by hrzhou on 2010-4-17 at 21:45 ]
4楼2010-04-17 21:43:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mingkeng

至尊木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢参与应助! 2010-04-17 22:26
自己编写一个把数字转换成字符变量的子程序即可!

                        subroutine date2num(num,date,yr,mon,dy)
!**************************************************************************************
!  transform the date of integer into the type of character

      character*10 date
                        integer num1,num2,num3,num4,num5,num6,num7,num8,num9,num0,yr,mon,dy
                        integer dys
      integer*4 num

      num1=num/10e8  
                        num2=(num-num1*10e8)/10e7   
      num3=(num-num1*10e8-num2*10e7)/10e6     
                        num4=(num-num1*10e8-num2*10e7-num3*10e6)/10e5   
                        num5=(num-num1*10e8-num2*10e7-num3*10e6-num4*10e5)/10e4   
                        num6=(num-num1*10e8-num2*10e7-num3*10e6-num4*10e5-num5*10e4)/10e3   
                        num7=(num-num1*10e8-num2*10e7-num3*10e6-num4*10e5-num5*10e4-num6*10e3)/10e2   
                        num8=(num-num1*10e8-num2*10e7-num3*10e6-num4*10e5-num5*10e4-num6*10e3-num7*10e2)/10e1     
                        num9=0   
                        num0=0   

      yr=num1*1000+num2*100+num3*10+num4
                        mon=num5*10+num6
                        dy=num7*10+num8

      date=char(num1+48)//char(num2+48)//char(num3+48)//   &
                                                char(num4+48)//char(num5+48)//char(num6+48)//   &
                                          char(num7+48)//char(num8+48)//char(num9+48)//   &
                                                char(num0+48)
!**********************************transformation end**********************************
      end subroutine

上述子程序是考虑年月日时的,你的问题更简单!

[ Last edited by mingkeng on 2010-4-17 at 21:54 ]
5楼2010-04-17 21:52:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 anshenyu 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见