[英]`backspace` in gfortran (old and new)
假設我要在Fortran文件中添加一行。 使用gfortran
的最新版本(4.7),我發現這gfortran
:
program test
integer :: lun=10, i=0
open(FILE='test.dat', UNIT=lun)
do
read(lun, *, END=20) i
print *, i
end do
20 backspace(lun)
write(lun, *), i+1
end program test
但是,在gfortran 4.4
中,它將覆蓋最后一行。 要追加 ,我發現我需要使用
20 continue
而不是backspace
。
這是怎么回事? 您將如何在實際程序中處理此問題?
program test
integer :: lun=10, i=0,io
open(FILE='test.dat', UNIT=lun, POSITION="append")
backspace(lun,iostat=io)
if (io==0) then
read(lun,*) i
else
i = 0
end if
write(lun, *) i+1
end program test
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.