Fortran-Modul fileutil.f90
!
! Hilfsroutinen fuer File-I/O
!
module fileutil
implicit none
contains
function anzahlReals(fileId)
! gibt die Zahl von Realwerten im File der Unit fileId zurueck
use kinds
implicit none
integer :: anzahlReals
integer, intent(in) :: fileId
real(kind=REAL8) :: dummy
integer :: status
anzahlReals = 0
do
read(fileId, *, iostat=status) dummy
if (status /= 0) exit
anzahlReals = anzahlReals + 1
end do
if (status > 0) then
write (*,*) 'Konnte Array nicht lesen.'
stop
else ! Ende der Datei erreicht
rewind(fileId)
end if
status = dummy
return
end function anzahlReals
function anzahlReals2(fileId)
! gibt die Zahl von Realwert-Paaren im File der Unit fileId zurueck
use kinds
implicit none
integer :: anzahlReals2
integer, intent(in) :: fileId
real(kind=REAL8) :: dummy1, dummy2
integer :: status
anzahlReals2 = 0
do
read(fileId, *, iostat=status) dummy1, dummy2
if (status /= 0) exit
anzahlReals2 = anzahlReals2 + 1
end do
dummy2 = dummy1
dummy1 = dummy2
if (status > 0) then
write (*,*) 'Konnte Array nicht lesen.'
stop
else ! Ende der Datei erreicht
rewind(fileId)
end if
return
end function anzahlReals2
end module fileutil