program wwlln_2009_text
implicit none
character(len=512)::cRead
character(len=20)::filename,DYfilename
character(len=20)::wwlln_date,wwlln_time
real::lat,lon
character(len=5)::timingerror
character(len=2)::station
integer::status1=0
integer,parameter::fileid1=12,fileid2=13
integer::i
logical alive
OPEN(14,file="A20090101.txt",status="old",form="formatted")
OPEN(15,file="20090101.txt",status="replace")
do while(.true.)
READ(14,"(A512)",iostat=status1)cRead
if(status1/=0) exit
CALL parserRead(cRead)
write(*,*)wwlln_date,wwlln_time,lat,lon,timingerror,station
if((lat>21).AND.(lat<34).AND.(lon>97).AND.(lon<111)) then
write(*,*)wwlln_date,wwlln_time,lat,lon,timingerror,station
write(15,*)wwlln_date,wwlln_time,lat,lon,timingerror,station
end if
end do
CLOSE(14)
close(15)
contains
!调用子程序
subroutine parserRead(c)
character(len=*)::c
integer::j
do j=1,LEN_TRIM(c)
if (c(j:j)=="/") c(j:j)="|"
end do
READ(c,*)wwlln_date,wwlln_time,lat,lon,timingerror,station
do j=1,LEN_TRIM(wwlln_date)
if (wwlln_date(j:j)=="|") wwlln_date(j:j)="/"
end do
end subroutine parserRead
end
text.png (33.78 KB, 下载次数: 337)
Fortran报错
错误图片.png (51.25 KB, 下载次数: 348)
数据展示
fcode 发表于 2020-5-22 08:15
没有数据文件,看不出问题,也不能重现。
fcode 发表于 2020-5-22 08:15
没有数据文件,看不出问题,也不能重现。
fcode 发表于 2020-5-22 08:15
没有数据文件,看不出问题,也不能重现。
Zhuming 发表于 2020-5-22 09:42
我在read(14,"(A512)",iostat=status1)cRead 后面加了一个
if(cRead=="")then
cycle
necrohan 发表于 2020-5-22 11:12
你那个文件就是多了一个空行,而且后面还有,跳过去的方法很好。
用Ultraedit看这种文件吧,每行都能分开 ...
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |