爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 自由行

[源代码] fortran批处理读取数据

[复制链接]

新浪微博达人勋

 楼主| 发表于 2016-4-2 16:18:40 | 显示全部楼层
尔卿不归 发表于 2016-4-2 15:55
do k=1,695
          line=0
    read(..)....

program main   !根据字符串的长度判断输出第二例数据,不读抬头(批量处理)
character*100 dat
character(len=50)temp
integer error,line,position,i,j,k,m
character*80 filename(695)

open(30,file='F:\work\ch4.2\3\filenames.txt')
do j=1,695
   read(30,*)filename(j)
   print*,filename(j)
enddo

do k=1,695  
    line=0   
open(1,file='F:\work\ch4.2\3\'//filename(k))
open(2,file='F:\work\ch4.2\4\2.txt')  

do while(.true.)
read(1,*,iostat=error)
  if(error/=0)exit               !判断文件的行数
  line=line+1
enddo
rewind(1)             !文件打开后,在读写过程中有时需要将当前文件指针位置指向文件头,通常用于顺序存取文件,

do i=1,25
read(1,*)
end do     
            !原数据
  do j=1,line-25
   read(1,'(A100)')dat            !以字符串的形式将每行数据读取出来
   length=len(trim(dat))          !获取字符串实际长度
   position=index(dat,')')        !寻找每一行 ")" 所在位置
  write(2,*)adjustl(dat((position+1):length))   !将每一行 ")" 之后的数据存出来即可
  enddo
enddo
end

感觉还是不对,不知道您是这个意思吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-3 13:11:32 | 显示全部楼层
自由行 发表于 2016-4-2 16:18
program main   !根据字符串的长度判断输出第二例数据,不读抬头(批量处理)
character*100 dat
chara ...

你这样修改应该是对的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-8 09:27:43 | 显示全部楼层
本帖最后由 robindct 于 2016-4-8 09:31 编辑

楼主的编程书写习惯不太好,缩进得有些太乱了,而且文件open但是没有对应close(),这就会给程序运行带来问题隐患。建议楼主使用断点调试,查找一下错误位置。另外同前楼,感觉是line=0这里的问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-9 15:09:57 | 显示全部楼层
可以哦
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-4-9 22:05:22 | 显示全部楼层
谢谢!你是我们的榜样
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-11 17:32:31 | 显示全部楼层
多谢楼主分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-15 11:53:02 | 显示全部楼层
请问楼主,你的每个文件中的行数都是固定25行吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-15 14:07:21 | 显示全部楼层
地表植被 发表于 2016-4-15 11:53
请问楼主,你的每个文件中的行数都是固定25行吗?

是的喔,每个文件的行数都是一样的喔

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

新浪微博达人勋

发表于 2016-4-15 15:04:51 | 显示全部楼层
自由行 发表于 2016-4-15 14:07
是的喔,每个文件的行数都是一样的喔

哦,还有个问题就是,你的程序中的“do j=1,line-25”这个语句是什么意思啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-6 19:33:43 | 显示全部楼层
自由行 发表于 2016-4-1 16:49
这个程序读一个txt是没有问题的,现在是批量处理,所以我觉得是不是有其他的因素喃

这个是程序读到文件尾了,用EOF函数来判断是否是文件尾吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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