如何循环读取多个文本文件内容
fortran中如何实现循环读取同一路径下的多个文本文件的内容吗?分为两种情况
1. 文件名有规律
2. 文件名无规律
供参考
设要生成4000个文件,文件名为AA1-AA4000,如何写循环生成文件,而不用写4000次write命令呢?用内部文件:
character(len=80) :: filename,form
integer :: i
do i=1,4000
select case (i)
case (1:9)
write(form,'(i1)') i
case (10:99)
write(form,'(i2)') i
case (100:999)
write(form,'(i3)') i
case (1000:9999)
write(form,'(i4)') i
end select
write(filename,*) "AA",trim(form),".TXT"
open(10,file=filename)
write(10,*) i
close(10)
end do
stop
end
对于没有规律的文件,好像有软件可以修改文件名。最好该成有规律的,这样比较方便。
http://www.programfan.com/club/showbbs.asp?id=102851 对于没有规律的文件,好像有软件可以修改文件名。最好该成有规律的,这样比较方便。
如果不具备修改文件名的条件呢?呵呵
回复 #3 风花雪月 的帖子
我提供一个自我认为可行的思路,就是在fortran中调用系统dos命令dir(或者写成一个bat批处理文件),把该文件夹下的文件名写到一个文本文件中,然后从文本文件中依次读取文件名,然后从文件中读取相关数据。写出代码比较耗时,个人没时间了,只能提供想法。 dos有命令能够将dir返回的数据写入文件?
回复 #5 风花雪月 的帖子
dir >a.txt 可以写到a.txt里面去,不过看了一下,txt文件里有头有尾,不只是文件名,哈,不好操作了。 :@(下面是a.txt里的内容示例:
驱动器 C 中的卷没有标签。
卷的序列号是 487C-371C
C:\Documents and Settings\hitwdh 的目录
[.] [..] aa.txt
config.pro
file.err file.log
gsview32.ini makebst.log
PUTTY.RND SciTE.recent SciTE.ses
tryhitwdh.eps trymakebst.bst
trymakebst.dbj writer2latex.xml
_BLOCK.WB4 _PersonalityVert1.WB4 _PersonalityVert2.WB4
[「开始」菜单] [桌面]
16 个文件 565,394 字节
10 个目录2,703,597,568 可用字节 原帖由 心灯 于 2007-5-30 19:26 发表 http://www.chinavib.com/forum/images/common/back.gif
dir >a.txt 可以写到a.txt里面去,不过看了一下,txt文件里有头有尾,不只是文件名,哈,不好操作了。 :@(
下面是a.txt里的内容示例:
驱动器 C 中的卷没有标签。
卷的序列号是 487C-371C
C:\Doc ...
对这个文件应该还是能够操作的,不过有点过于复杂
回复 #7 风花雪月 的帖子
不知道如何进行操作了...不知道别的网友有没有什么好的建议或者思路?
页:
[1]