c----------------------------------------------------------- c Driver illustrating use of 'p410f' utility routines. c----------------------------------------------------------- program p410fsa implicit none integer iargc, indlnb, i4arg, getu real*8 r8arg character*2 itoc integer arg1 real*8 arg2 character*64 arg3 integer u if( iargc() .ne. 3 ) go to 900 arg1 = i4arg(1,-1) arg2 = r8arg(2,-1.0d0) call getarg(3,arg3) write(0,*) 'p410fsa: Integer argument ', arg1 write(0,*) 'p410fsa: Integer argument converted to character*2 ', * '<'//itoc(arg1)//'>' write(0,*) 'p410fsa: Real*8 argument ', arg2 write(0,*) 'p410fsa: String argument ', & arg3(1:indlnb(arg3)) c----------------------------------------------------------- c Note that we cannot output the return value from c getu() DIRECTLRY via, e.g. c c write(0,*) getu() c c since getu() initiates I/O operations, and "recursive c I/O is not allowed in Fortran 77 c----------------------------------------------------------- u = getu() write(0,*) 'p410fsa: Next available unit number ', u stop 900 continue write(0,*) 'usage: p410fsa ' stop end