24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1636  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

atachengqi

新虫 (初入文坛)

[求助] fortran连续读取文件,文件名的问题已有2人参与

从模型计算得出一系列的文件,(例如CC_001,CC_002.......CC_079)
如果要编写语言来依次读取这些文件,文件名这个问题应该怎么解决? (主要是前面那个0啊,一个一个都去掉0也不太现实)

谢谢各位大神了!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多

【答案】应助回帖

中间那个笑脸是integer,allocatable::a( : ),想要测试的文件在这里。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : CC_001.txt
  • 2016-03-12 22:08:29, 1 bytes
  • 附件 2 : CC_002.txt
  • 2016-03-12 22:08:31, 1 bytes
  • 附件 3 : CC_003.txt
  • 2016-03-12 22:08:31, 1 bytes
  • 附件 4 : CC_004.txt
  • 2016-03-12 22:08:31, 1 bytes
  • 附件 5 : CC_005.txt
  • 2016-03-12 22:08:31, 1 bytes
  • 附件 6 : Source1.f90
  • 2016-03-12 22:08:31, 523 bytes
Chemistry
3楼2016-03-12 22:09:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多

【答案】应助回帖

感谢参与,应助指数 +1
利用内部文件可以实现,我把代码粘贴给你,这个代码要实现的功能就是读取CC_001~CC_005.txt所有文件,并把读取内容放入result.txt中,你参考此代码去修改。(PS:代码运行开始输入文件有多少个,然后自动出结果)
    Program example
    Implicit None
    Integer::i,n
    Integer,Allocatable::a(
    Character(len=20)::string
    Write(*,*) 'input the number of documents:'    !//输入文件数量
    Read(*,*) n
    Allocate(a(n))
    Do i=1,n
        Write( string,"( 'CC_',i3.3 )" ) i            
        Open( 10+i,file=trim( string )//'.txt' )
        Read( i+10,* ) a(i)
    End do   
    Do i=1,n
        
        Open( 100,file='result.txt' )
        Write( 100,"( i3 )" ) a(i)
    End do
    Read(*,*)
    End Program example
Chemistry
2楼2016-03-12 22:05:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

slx345335197

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
N=51
N1=MOD(N,100)
N2=MOD(N,10)
N3=MOD(N,1)

DO I=1,99
OPEN(unit=11,file='CC_'//N1//N2//N3)
CLOSE(11)
END DO
4楼2016-03-12 22:20:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

slx345335197

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by slx345335197 at 2016-03-12 22:20:03
N=51
N1=MOD(N,100)
N2=MOD(N,10)
N3=MOD(N,1)

DO I=1,99
OPEN(unit=11,file='CC_'//N1//N2//N3)
CLOSE(11)
END DO

我忘了加后缀。。。

OPEN(11,file='CC_'//N1//N2//N3//'.TXT')
5楼2016-03-12 22:21:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见