回 帖 发 新 帖 刷新版面

主题:fortran 想循环读取不规则文件名,如何办到?

M09C0500.184695
M09C0500.195392
M09C0500.210091
M09C0500.220788
M09C0500.231484
M09C0500.242183
M09C0500.252880





小弟现在要读取文件名类似这样命名方式的二进制文件,不知道如何做文件名的循环,因为文件名实在无规律可行

请大家能帮忙想想办法,谢谢了

回复列表 (共12个回复)

11 楼

[quote][quote][quote]
新手,不知道如何实现,请明示[/quote]


CHARACTER(20)    CH(100)
CH(1)=
CH(2)=
.
.
.
以上为赋值。填入文名
DO I=1,100
OPEN(1,FILE=CH(I))  !1也可以改成I
中间过程

CLOSE(1)            !1也可以改成I
ENDDO[/quote]
这样如果文件名很多,很不方便,可以先把文件名存放在一个自己新建的文件中,然后读取值数组中,方便以后更改和添加:
PROGRAM READFILE
CHARACTER(20)    CH(100)
OPEN(2010,FILE='NAME.TXT,'STATUS='OLD',FORM='FORMATTED')                 
!NAME.TXT是自己新建的存有这些文件名的文件
DO 1 I=1,N            !N是文件名个数
READ(2010,*),CH(I)
1  CONTINUE
DO 2 I=1,100
OPEN(1,FILE=CH(I))  !1也可以改成I
中间过程

CLOSE(1)            !1也可以改成I
2 CONTINUE
END PROGRAM
[/quote]

"可以先把文件名存放在一个自己新建的文件中,然后读取值数组中,方便以后更改和添加"

这一步是手工的吗?还是可以用额外的程序实现?

12 楼

http://bbs.pfan.cn/post-316174.html
里面就讨论如何把文件名导入到一个文件里面, 贴了2次没看... 唉~

我来回复

您尚未登录,请登录后再回复。点此登录或注册