- 积分
- 327
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-12-24
- 最后登录
- 1970-1-1
![[筱筱筱筱筱雅痴] 粉丝数:73 微博数:417 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|

楼主 |
发表于 2018-3-10 17:58:11
|
显示全部楼层
我可能没有表达清楚,我读取的时候是一行一行读的,用的eof判断是否读完,我把代码放上去,你帮我看一下吧。就是我用f格式读取某一列的数据,输出后原本是实数的没有错,原本是整数的输出就不正确。program radiation
character fname*8,a,b,time*19,char21a*21
integer arecord
real ur,ulr,dlr,dr,rn,batt
iout=0
open(31,file='H:/lw-data/小论文/辐射/output/info.txt') ! output record number and error information.
open(10,file='H:/lw-data/小论文/辐射/filenamelist.txt',status='old') ! filename list
do while(.not.eof(10))
read(10,'(13x,a8)') fname
open(1,file='H:/lw-data/小论文/辐射/0米/'//'CR3000_0_DAT_'//fname//'.dat')
open(20,file='H:/lw-data/小论文/辐射/output/'//fname//'.txt')
write(20,'(207a)') 'Time , record, UR, ULR, DLR, DR, RN, Batt'
write(20,'(207a)') 'YYYY-MM-DD HH:MM:SS, *, W/m2, W/m2, W/m2, W/m2, W/m2,*'
write(20,*)
do i=1,4
read(1,*) a !略过本程序暂未使用信息
enddo
do while(.not.eof(1))
read(1,'(a,1x,i6,1x,6f)',err=100,end=100) char21a,arecord,ur,ulr,dlr,dr,rn,batt
time(1:19)=char21a(2:20)
print*,time,arecord,ur,ulr,dlr,dr,rn,batt
write(20,'(a19,1h,,i6,6(1h,,f))') time,arecord,ur,ulr,dlr,dr,rn,batt
if(.not.eof(1) ) then
read(1,*) b
BACKSPACE (1)
endif
enddo
close(20)
100 write(31,*) "========================================================================="
write(31,*) "file end error !!! "
write(31,*)
enddo
close(31)
close(10)
end[/code]
|
|