file_size Function

public function file_size(file, printf) result(size)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: file
logical, optional :: printf

Return Value integer


Calls

proc~~file_size~~CallsGraph proc~file_size file_size interface~reg reg proc~file_size->interface~reg

Called by

proc~~file_size~~CalledByGraph proc~file_size file_size proc~file_gzip file_gzip proc~file_gzip->proc~file_size

Source Code

  function file_size(file,printf) result(size)
    integer               :: size,status
    character(len=*)      :: file
    integer,dimension(13) :: buff
    logical,optional      :: printf
    logical               :: control,printf_
    printf_=.false.;if(present(printf))printf_=printf
    inquire(file=reg(file),exist=control)
    if(.not.control)then
       write(*,*) 'Cannot read '//reg(file)//'. Skip file_size'
       return
    endif
    open(10,file=reg(file))
    call fstat(10,buff,status)
    size=nint(dble(buff(8))/dble(1024))
    if(printf_)write(*,"(A,A,A,f9.6,A)")"file: **",reg(file),"** is ",size," Kb"
  end function file_size