爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: q863510557

[求助] 读取数据问题

[复制链接]

新浪微博达人勋

发表于 2014-4-20 15:02:33 | 显示全部楼层
怎么样?解决了吗?要是没有的话可以参考下下面的代码,测试过了
  1. program main
  2. implicit none
  3. integer m,i
  4. parameter(m=10)
  5. real dat(m),ppbv(m)
  6. character*8 tim(m)
  7. character*30 line
  8. open(1,file="G:\Fortran\b\b.txt")
  9. do i=1,m
  10. read(1,"(A)") line
  11. read(line(1:6),*) dat(i)
  12. tim(i)=line(8:12)
  13. if(Trim(line(15:22))=="") then
  14.   ppbv(i)=9999
  15. else
  16.   read(line(15:22),*) ppbv(i)
  17. endif
  18. enddo
  19. close(1)
  20. print*,line
  21. end
复制代码

评分

参与人数 1金钱 +10 体力 +20 收起 理由
lqouc + 10 + 20 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-22 10:37:08 | 显示全部楼层
朽木露琪亚 发表于 2014-4-20 15:02
怎么样?解决了吗?要是没有的话可以参考下下面的代码,测试过了

恩恩,问题解决了,非常非常谢谢,还有个问题就是,在别的帖子里有人回复我说:用len(a)这样的语句读取文件长度,短的话就读成999,长的话就读成文件当中的数据,但是我设置的a是有长度的,没有办法用判断语句判断a的长短,请问下怎么解决,程序如下:
program main
implicit none
character*30 a
integer n,i
parameter(n=744)
real shuzhi(n)
open(1,file="f:\so2.txt",status="old",form="formatted")
do i=1,n
read(1,"(a)") a
print*,a
if(len(a)==14) then
shuzhi(i)=0
else
backspace(1)
read(1,*) a,a,shuzhi(i)
end if
print*,shuzhi(i)
end do
close(1)
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-22 10:46:58 | 显示全部楼层
朽木露琪亚 发表于 2014-4-20 15:02
怎么样?解决了吗?要是没有的话可以参考下下面的代码,测试过了

其实就是想问下,能不能得出每一行字符串的长度??
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-22 11:05:13 | 显示全部楼层
q863510557 发表于 2014-4-22 10:46
其实就是想问下,能不能得出每一行字符串的长度??

搞定了,把Len()换成len_trim()就行了  谢大神提点~!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表