- 积分
- 25
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 风花树0214 于 2012-11-11 20:04 编辑
现有fort.100,fort.101一直到fort.164共65个文件,想把每一个文件中的特定57971行的数据读取出来,全部放到57971.txt这个文件当中去。程序编译成功,可是总只能找第一个fort.100文件中的数据。不知道为什么do n=100,164这个循环没有生效。
希望有大侠指点一下,感激不尽。代码贴出如下:
program readdata
implicit none
character (len=3) :: order ! fort文件的后缀3个数字
character (len=150) :: buffer
integer :: n !连续读取文件循环的数字
integer count
integer error
open (unit=11,file='57971.txt',status='replace')
count=0
do n=100,164
write (order,'(I3)') n !将整型变量转换为字符型变量
open (unit=10,file='fort.'//trim(adjustl(order)),status='old') !打开文件逐行读取数据
do while(.true.)
read (10,"(A150)",iostat=error) buffer !读取一整行的数据到buffer里
count=count+1
if (count==57971) then
write (11,"(A)") trim(adjustl(buffer))
end if
if (error/=0) exit
end do
close (10)
end do
close (11)
stop
end program readdata
|
|