関数は、次のように呼び出します。
INTEGER fseeko64 n = fseeko64( lunit, offset64, from ) |
|||
lunit |
INTEGER*4 |
入力 |
開いている論理装置 |
offset64 |
INTEGER*8 |
入力 |
from で指定された位置からの 64 ビットオフセットを示すバイト数 |
from |
INTEGER*4 |
入力 |
0= ファイルの先頭 1= 現在の位置 2= ファイルの終了 |
戻り値 |
INTEGER*4 |
出力 |
n=0: 正常、n>0: システムエラーコード |
順編成ファイルでは、fseeko64 に続く呼び出しのあとの出力操作 (WRITE など) は、fseek の位置に続くすべてのデータレコードの削除、新しいデータレコード (とファイルの終わりのマーク) での書き換えの原因となります。正しい位置へのレコードの書き換えは、直接アクセスファイルでのみ実行可能です。
例: fseeko64() - MyFile のポインタを先頭から 2 バイトの位置に再位置づけします。
INTEGER fseeko64, lunit/1/, from/0/, n INTEGER*8 offset/200/ open( UNIT=lunit, FILE='MyFile' ) n = fseeko64( lunit, offset, from ) if ( n .gt. 0 ) stop 'fseek エラー' end |