1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
module FilesModule
implicit none
contains
subroutine FileDelete(Name,iostat)
character(*), intent(in) :: Name
integer, optional, intent(out) :: iostat
integer i
logical Used
i = 100
Used = .true.
do while(Used)
i = i - 1
inquire(unit=i, opened=Used)
enddo
if (present(iostat)) then
open(Unit=i, file=Name, status='old', iostat=iostat)
if (iostat /= 0) return
close(Unit=i,status='delete', iostat=iostat)
else
open(Unit=i, file=Name, status='old')
close(Unit=i,status='delete')
endif
end subroutine
end module
program Test
use FilesModule
implicit none
integer k
call FileDelete('test.txt')
write(0,*) 'OK'
call FileDelete('test2.txt',iostat=k)
write(0,*) 'iostat=',k
call FileDelete('test2.txt',iostat=k)
write(0,*) 'iostat=',k
end program |
Partager