Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

getfilep(3F)

名前

getfilep - 外部ユニット番号のファイルポインタを取得する

説明

getfilep は、外部ユニットが接続されている場合に、そのユニット番号のファイルポインタを返します。ユニットが接続されていない場合は、値 -1 が返されます。

注意

注意

この関数は、標準の FORTRAN 入出力と C の入出力を混在させる際に使用されます。このように混在させると移植性が失われるため、オペレーティングシステムや FORTRAN の今後のリリースでは保証されません。この関数の使用は推奨されず、直接インタフェースも提供されていません。getfilep からの戻り値を使用するには、専用の C ルーチンを入力する必要があります。C ルーチンの例を次に示します。

使用法

次の例は、getfilep を使用する FORTRAN メインプログラム (ファイル 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

次の例は、getfilep を実際に使用する C 関数 (ファイル 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 ) ;
}

コンパイル、構築、実行の例:

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

詳細については、『FORTRAN 77 ユーザーズガイド』の C と FORTRAN のインタフェースに関する章を参照してください。

ファイル

libfui.a

関連項目

open(2)

FORTRAN 77 ユーザーズガイド