24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1758  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 071000生物学调剂 +5 知昭蔓 2026-04-02 5/250 2026-04-02 15:13 by 唐沐儿
[考研] 一志愿郑大材料工程290求调剂 +20 Youth_ 2026-03-30 20/1000 2026-04-02 14:48 by 5896
[考研] 342求调剂 +13 Mary Keen 2026-03-28 14/700 2026-04-02 14:28 by olim
[考研] 261求B区调剂 +5 明仔· 2026-04-01 7/350 2026-04-02 11:17 by 邹尉尉
[考研] 07生物学求调剂 一志愿同济大学359分 +3 LAMC. 2026-03-30 3/150 2026-04-02 10:26 by 18828373951
[考研] 材料求调剂 +8 呢呢妮妮 2026-04-01 8/400 2026-04-02 07:13 by yjolah
[考研] 英一数一408,总分284,二战真诚求调剂 +12 12.27 2026-03-30 14/700 2026-04-02 00:18 by 欣喜777
[考研] 一志愿上海海洋大学083200食品学硕,求调剂,接受其他专业 +5 what张 2026-04-01 5/250 2026-04-01 22:35 by guanxin1001
[考研] 273求调剂 +19 李芷新1 2026-03-31 19/950 2026-04-01 21:49 by chyhaha
[考研] 286求调剂 +16 PolarBear11 2026-03-26 16/800 2026-04-01 21:31 by 七度不信任
[考研] 303分 0807学硕求调剂 +3 TYC3632 2026-04-01 3/150 2026-04-01 19:24 by lwk2004
[考研] 332求调剂 +8 Lyy930824@ 2026-03-29 8/400 2026-04-01 18:40 by 千钧澄玉宇啊
[考研] 08工科,295,接受跨专业调剂 +6 lmnlzy 2026-03-31 6/300 2026-04-01 11:02 by 逆水乘风
[考研] 333求调剂 +4 阿科逸 2026-03-31 4/200 2026-04-01 09:11 by jp9609
[考研] 调剂求院校招收 +7 鹤鲸鸽 2026-03-28 7/350 2026-03-31 11:21 by oooqiao
[考研] 085701环境工程求调剂 +11 多久上课 2026-03-27 12/600 2026-03-30 21:21 by 研究僧导导
[考研] 343求调剂 +6 爱羁绊 2026-03-29 6/300 2026-03-29 12:00 by 无际的草原
[考研] 316求调剂 +7 江辞666 2026-03-26 7/350 2026-03-28 21:28 by sanrepian
[考研] 一志愿南京航空航天大学材料学硕求调剂 +3 @taotao 2026-03-28 3/150 2026-03-28 10:26 by JourneyLucky
[考研] 081200-11408-276学硕求调剂 +4 崔wj 2026-03-26 4/200 2026-03-27 08:04 by chemisry
信息提示
请填处理意见