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)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |