主题:fortran 想循环读取不规则文件名,如何办到?
ppwolfe
[专家分:0] 发布于 2010-05-09 22:27:00
M09C0500.184695
M09C0500.195392
M09C0500.210091
M09C0500.220788
M09C0500.231484
M09C0500.242183
M09C0500.252880
。
。
。
小弟现在要读取文件名类似这样命名方式的二进制文件,不知道如何做文件名的循环,因为文件名实在无规律可行
请大家能帮忙想想办法,谢谢了
回复列表 (共12个回复)
11 楼
ppwolfe [专家分:0] 发布于 2010-05-12 13:07:00
[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 楼
yeg001 [专家分:14390] 发布于 2010-05-12 20:19:00
http://bbs.pfan.cn/post-316174.html
里面就讨论如何把文件名导入到一个文件里面, 贴了2次没看... 唉~
我来回复