Man Page getfilep.3f




NAME

     getfilep - get the file pointer of an external unit number


DESCRIPTION

     getfilep returns the file pointer of an external unit number
     if the unit is connected.
     If the unit is not connected, the value returned is -1.


NOTE

     This function is used for mixing standard FORTRAN I/O with C
     I/O.   Such mixing in nonportable, and is not guaranteed for
     subsequent releases of the operating system or FORTRAN.  Use
     of this function is not recommended, and no direct interface
     is provided.  You must enter your own C routine to  use  the
     value  returned  by  getfilep.   A sample C routine is shown
     below.


USAGE

     Following is a sample FORTRAN main  program  with  getfilep,
     the file MixStdinmain.f:

           character*1  inbyte
           integer*4    c_read,  getfilep, unitn / 5 /
           external     getfilep
           write(*,'(a,$)') 'What is the digit? '

           irtn = c_read ( getfilep ( unitn ), inbyte, 1 )

           write(*,9)  inbyte
         9 format('The digit read by C is ', a )
           end

     Following is a sample C function  that  actually  uses  get-
     filep, the file MixStdin.c:

     #include <stdio.h>
     int c_read_ ( fd, buf, nbytes, buf_len )
     FILE **fd ;
     char *buf ;
     int *nbytes, buf_len ;
     {
        return fread ( buf, 1, *nbytes, *fd ) ;
     }

     A sample compile/build/run:

     demo% cc -c MixStdin.c
     demo% f77 MixStdin.o MixStdinmain.f
     MixStdinmain.f:
      MAIN:
     demo%
     a.out
     What is the digit? 3
     The digit read by C is 3

     See the chapter on the C-FORTRAN interface in the FORTRAN 77
     User's Guide.


FILES

     libF77.a


SEE ALSO

     open(2)