24小时热门版块排行榜    

查看: 747  |  回复: 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的回帖

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

新虫 (初入文坛)

引用回帖:
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的回帖

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的回帖
相关版块跳转 我要订阅楼主 canny 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 315分,诚求调剂,材料与化工085600 +3 13756423260 2026-03-22 3/150 2026-03-22 20:11 by edmund7
[考研] 319求调剂 +4 小力气珂珂 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[考研] 303求调剂 +5 安忆灵 2026-03-22 6/300 2026-03-22 12:46 by 素颜倾城1988
[考研] 考研调剂 +4 来好运来来来 2026-03-21 4/200 2026-03-22 12:15 by 星空星月
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 085600材料与化工306 +4 z1z2z3879 2026-03-21 4/200 2026-03-21 23:44 by ms629
[考研] 0805 316求调剂 +3 大雪深藏 2026-03-18 3/150 2026-03-21 18:55 by 学员8dgXkO
[考研] 材料 271求调剂 +5 展信悦_ 2026-03-21 5/250 2026-03-21 17:29 by 学员8dgXkO
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 求调剂 +6 Mqqqqqq 2026-03-19 6/300 2026-03-21 08:04 by JourneyLucky
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 307求调剂 +3 wyyyqx 2026-03-17 3/150 2026-03-21 03:20 by JourneyLucky
[考研] 材料 336 求调剂 +3 An@. 2026-03-18 4/200 2026-03-21 01:39 by JourneyLucky
[考研] 一志愿西南交大,求调剂 +5 材化逐梦人 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[考研] 一志愿南昌大学,327分,材料与化工085600 +9 Ncdx123456 2026-03-19 9/450 2026-03-20 23:41 by lovewei0727
[考研] 一志愿吉林大学材料学硕321求调剂 +11 Ymlll 2026-03-18 15/750 2026-03-20 19:40 by 丁丁*
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[考博] 申博26年 +3 八6八68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
信息提示
请填处理意见