24小时热门版块排行榜    

查看: 1968  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026国自然放榜时间 +3 布布和一二 2026-08-08 3/150 2026-08-08 18:15 by Lightingo
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:19 by oEVWOejN9taj
[找工作] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:07 by oEVWOejN9taj
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 17:02 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:19 by oEVWOejN9taj
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:02 by oEVWOejN9taj
[论文投稿] 十年后又回来了,论文投稿求助 +5 哈哈114477 2026-08-01 5/250 2026-08-08 15:14 by 仁砚薪传
[基金申请] 这样的filecode谁见过 +5 布布和一二 2026-08-08 8/400 2026-08-08 14:54 by archvillain
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:22 by oEVWOejN9taj
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 KXLV3nuBVBY7 2026-08-07 6/300 2026-08-08 14:01 by oEVWOejN9taj
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见