Fortran对比两个文件的不同并删除多余的部分

以2013.txt为基准文件,剔除2014.txt中多余的部分。

代码:

program climate
implicit none

!声明变量
real::lon,lon1
real::lat,lat1
real(kind=4)::dataa,dataa1
integer::status1=0

!读取
OPEN(11,file='2013.txt',status='old')
OPEN(12,file='2014.txt',status='old')
OPEN(13,file='new2014.txt',status='replace')


do while(.true.)
    READ(11,*,iostat=status1)lon,lat,dataa
    if(status1/=0)exit
    !write(*,*)lon,lat,dataa
    do while(.true.)
        READ(12,*,iostat=status1)lon1,lat1,dataa1
        if(status1/=0)exit
        !write(*,*)lon1,lat1,dataa1
        if(abs(lat-lat1)+ABS(lon-lon1)>1.0e-6) cycle 
            write(*,*)lon1,lat1,dataa1
            write(13,*)lon1,lat1,dataa1
    end do
    REWIND(12)  !!重复读取同一个文件,让指针回到文件头部
end do


CLOSE(11)
CLOSE(12)
CLOSE(13)

end program climate
        
   

猜你喜欢

转载自www.cnblogs.com/stelliformzm/p/12979325.html