24小时热门版块排行榜    

查看: 2062  |  回复: 9

atachengqi

新虫 (初入文坛)

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

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

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

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的回帖

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的回帖

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的回帖

atachengqi

新虫 (初入文坛)

引用回帖:
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

谢谢,我想问一下,mod是求余数的运算吧,那N1,N2,N3是如何变化的?
6楼2016-03-14 11:03:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

atachengqi

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 7152075 at 2016-03-12 22:05:50
利用内部文件可以实现,我把代码粘贴给你,这个代码要实现的功能就是读取CC_001~CC_005.txt所有文件,并把读取内容放入result.txt中,你参考此代码去修改。(PS:代码运行开始输入文件有多少个,然后自动出结果)
  ...

谢谢,不好意思,能问一下 Write( string,"( 'CC_',i3.3 )" ) i 这句话的意思么
7楼2016-03-14 11:05:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

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

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
atachengqi: 金币+30, ★★★★★最佳答案 2016-03-14 22:09:01
引用回帖:
7楼: Originally posted by atachengqi at 2016-03-14 11:05:23
谢谢,不好意思,能问一下 Write( string,"( 'CC_',i3.3 )" ) i 这句话的意思么...

哦,是内部文件(具体参见彭国伦书第260页)的用法。这是将CC_i(其中i按照i3.3格式读入,如果不足三位数则在前面补上0)读入到string字符串中,然后后面读取文件名的时候,直接读string就可以了,如此可将你的CC_XXX后面的东西动态的读进去了。
Chemistry
8楼2016-03-14 13:06:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

caicai820

禁虫 (初入文坛)

本帖内容被屏蔽

9楼2018-08-21 10:31:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

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

引用回帖:
9楼: Originally posted by caicai820 at 2018-08-21 10:31:01
你好,请问为什么 Write( string,"( 'CC_',i3.3 )" ) i 这一行出现“i3.3”的用法呢?...

为了出现001,002,003……,i3.3就是强制整数出现3位。

发自小木虫Android客户端
Chemistry
10楼2018-08-21 16:24:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 atachengqi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[硕博家园] 中科院海洋所招收海洋材料相关领域博士研究生及研究助理 +3 sujiner 2026-10-08 4/200 2026-10-14 20:40 by qicaiyun
[职场人生] 40+中年人失业后,还能找到好工作吗? +3 xqy2009 2026-10-13 3/150 2026-10-14 20:17 by 43358052
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见