24小时热门版块排行榜    

查看: 888  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

canny

新虫 (初入文坛)

[求助] 文件无法循环

想做一个文件循环操作,但是文件无法循环读取, 只能读入第一个文件,请大家帮忙看一下
program main
implicit none
real::a(2000)
real::b(2000)
real::c(2000)
real::d(2000)
integer i
integer j
integer k
integer p
real sum1,sum2,sum3,sum4
real ave1,ave2,ave3,ave4
character*30 filename(7)  ! 月数为31天的月份
character*30 output(7)

data filename /'D:/zhao/51467/1.txt','D:/zhao/51467/3.txt','D:\zhao\51467\5.txt','D:\zhao\51467\7.txt','D:\zhao\51467\8.txt','D:\zhao\51467\10.txt','D:\zhao\51467\12.txt'/
data output /'D:\zhao\51467\1out.txt','D:\zhao\51467\3out.txt','D:\zhao\51467\5out.txt','D:\zhao\51467\7out.txt','D:\zhao\51467\8out.txt','D:\zhao\51467\10out.txt','D:\zhao\51467\12out.txt'/

do k=1,7
     p=0
    open(10,file=filename,status='old',iostat=p)
    print *, "already open"  !打开文件
   i=1
   do while(.true.)
      read(10,*) a(i),b(i),c(i),d(i)   !读取数据
     if(p/=0) exit                  !判断文件是否读取正常  
    if(mod(i,31)==0)then          !读满一个月   
         sum1=0.0
                  sum2=0.0
          sum3=0.0
          sum4=0.0
            do j=i-30,i         !求月平均
                        sum1=sum1+(a(j)*0.1)
                 sum2=sum2+(b(j)*0.1)
                 sum3=sum3+(c(j)*0.1)
                 sum4=sum4+d(j)
               end do                
                ave1=sum1/31
                  ave2=sum2/31
                  ave3=sum3/31
                 ave4=sum4/31
          
             open(11,file=output,status='replace')  !写入文件
                print *, "writing file"
           write(11,"(4(1XF6.2))" ave1,ave2,ave3,ave4       
                                            
        end if  
      i=i+1
    end do
  rewind(10)
  close(10)
  rewind(11)
   close(11)
end do
stop
end


运行之后显示的错误是 forrt1:severe<24>:end-of-file during read,unit10,file D:\zhao\51467\1.txt
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

canny

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by lurencyj at 2012-03-31 22:32:24:
end-of-file during read,unit10,file D:\zhao\51467\1.txt

文件里面没有东西。
可以增加一个
do while(.not. eof(10))
end do

我明白你的意思了 修改之后现在是不会提示那个错误了 但是文件还是不能循环处理,只能处理出第一个文件...这是为什么啊?谢谢~
4楼2012-04-01 10:26:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

lurencyj

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xzhdty: , 欢迎常来程序语言 2012-03-31 23:11:38
canny: 金币+2, ★★★很有帮助 2012-04-01 10:39:12
end-of-file during read,unit10,file D:\zhao\51467\1.txt

文件里面没有东西。
可以增加一个
do while(.not. eof(10))
end do
很女子很弓虽大
2楼2012-03-31 22:32:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

canny

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by lurencyj at 2012-03-31 22:32:24:
end-of-file during read,unit10,file D:\zhao\51467\1.txt

文件里面没有东西。
可以增加一个
do while(.not. eof(10))
end do

这个是加在哪边?
3楼2012-04-01 10:00:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

canny

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by canny at 2012-04-01 10:26:56:
我明白你的意思了 修改之后现在是不会提示那个错误了 但是文件还是不能循环处理,只能处理出第一个文件...这是为什么啊?谢谢~

我找到原因了 应该写成filename(k) output(k)....
太粗心了
谢谢你哈
5楼2012-04-01 10:38:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +14 爱看书的可乐 2026-08-26 16/800 2026-08-26 18:28 by skyjudy
[基金申请] 我不理解! +9 Edward_pc 2026-08-26 14/700 2026-08-26 18:03 by hsding2026
[基金申请] 基金不中,共勉 +3 eulota 2026-08-26 3/150 2026-08-26 16:17 by 路yyyy
[基金申请] 怎么查啊 +5 huang1991js 2026-08-26 5/250 2026-08-26 16:09 by Equinoxhua
[基金申请] 范进中举一文的中心思想 +9 炎黄贵胄 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +6 process2012 2026-08-23 9/450 2026-08-26 15:33 by process2012
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 怎么看青基中了没有啊 +4 叶九微 2026-08-26 4/200 2026-08-26 10:52 by xiacongxu
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 22/1100 2026-08-25 15:36 by 医学老男孩
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见