回 帖 发 新 帖 刷新版面

主题:求助求助~~~

各位前辈大家好,先有一小问题,但一直解决不了,望诸位能帮助一下
具体为:想把一个文件里的数据替换一下,但只想替换单数行,文件总共4216行,下面是我编的一小程序,但不成功,望指导指导



program main
  implicit none
  
  character(5221) :: input 
  integer i,j
  integer,parameter::ind=4216
  
  open(10,file='1f.txt',status="old") 
  open(20,file='1s.txt')
    
  do j=1,ind,2       ~~~~~~~~~~~~~~~~~~这有问题
    read(10,"(A5221)") input 
     do i=1,5221 .
       if ( input(i:i) == 'h' ) then
       input(i:i)='1'
      
       end if
     end do
  
      write(20,"(A5221)")input 
  end do
  
  stop
end program

回复列表 (共1个回复)

沙发

do j=1,ind,2
    read(10,"(A5221)") input 

这句话其实还是从文件里一行一行读的,并没有跳过偶数行吧

你要用do循环,我觉得可以
do j = 1, ind, 2
    read(10,"(A5221)") input 
    ...
    ...
    read(10,*)  !跳过偶数行
enddo

其实你把你读的东西打印出来看看吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册