getc と fgetc は、入力ストリームから次の文字を読み取ります。同じ論理装置上では、これらのルーチンの呼び出しを通常の Fortran の入出力と混合して使用しないでください。
関数は、次のように呼び出します。
| 
 INTEGER*4 getc status = getc( char )  | 
|||
| 
 char  | 
 character  | 
 出力  | 
 次の文字  | 
| 
 戻り値  | 
 INTEGER*4  | 
 出力  | 
 status=0: 正常 status=-1: ファイルの終了 status>0: システムエラーコードまたは f95 入出力エラーコード  | 
例: getc でキーボードから文字を 1 文字ずつ入力します。 Control-D (^D) に注意してください。
       character char
       INTEGER*4 getc, status
       status = 0
       do while ( status .eq. 0 )
         status = getc( char )
         write(*, '(i3, o4.3)') status, char
       end do
       end
 | 
前述のソースプログラムを (コンパイル後に) 実行した例を次に示します。
demo% a.out ab プログラムが入力された文字を読み取る 0 141 プログラムが入力された文字の状態コードと 8 進値を出力する 0 142 141 は 'a' を、142 は 'b' を表す 0 012 012 はリターンキーを表す ^D Control-D キーで終了された -1 377 次の読み取りが試行され Control-D が戻された demo%  | 
どの論理装置に対しても、通常の Fortran の入力と getc() を混在して使用しないでください。
関数は、次のように呼び出します。
| 
 INTEGER*4 fgetc status = fgetc( lunit, char )  | 
|||
| 
 lunit  | 
 INTEGER*4  | 
 入力  | 
 論理装置  | 
| 
 char  | 
 character  | 
 出力  | 
 次の文字  | 
| 
 戻り値  | 
 INTEGER*4  | 
 出力  | 
 status=-1: ファイルの終了 status>0: システムエラーコードまたは f95 入出力エラーコード  | 
例: fgetc で tfgetc.data から文字を 1 文字ずつ読み取ります。改行 (8 進の 012) に注意してください。
       character char
       INTEGER*4 fgetc, status
       open( unit=1, file='tfgetc.data' )
       status = 0
       do while ( status .eq. 0 )
          status = fgetc( 1, char )
          write(*, '(i3, o4.3)') status, char
       end do
       end
 | 
前述のソースプログラムを (コンパイル後に) 実行した例を次に示します。
demo% cat tfgetc.data ab yz demo% a.out 0 141 'a' が読み取られる 0 142 'b' が読み取られる 0 012 改行が読み取られる 0 171 'y' が読み取られる 0 172 'z' が読み取られる 0 012 改行が読み取られる -1 012 CONTROL-D が読み取られる demo%  | 
どの論理装置に対しても、通常の Fortran の入力と fgetc() を混在して使用しないでください。
参照: getc(3S)、intro(2)、 および perror(3F)