マニュアルページ ftello64.3f
名前
fseek, fseeko64, ftell, ftello64 - 論理ユニットへのファイ ル
の再位置付け
形式
integer*4 function fseek (lunit, offset, from)
integer*4 lunit
integer*4 offset
integer*8 offset (64 ビット環境の場合)
integer*4 from
integer*4 function fseeko64 (lunit, offset, from)
integer*4 lunit
integer*8 offset
integer*4 from
integer*4 function ftell (lunit)
integer*4 lunit
integer*8 function ftello64 (lunit)
integer*4 lunit
機能説明
lunit は、オープンしている論理ユニットを指していなければなり
ま せ ん。 offset は、 from によって指定された位置からのオフ
セット (バイト単位) です。 from の有効な値は次のとおりです。
0 (ファイルの先頭)
1 (現在の位置)
2 (ファイルの終端)
fseek の戻り値は、正常終了の場合は 0、それ以外の場合はシステ
ムエラーコードです ( perror(3F) を参照)。
関数 ftell は、指定された論理ユニットに対応するファイルの 現
在の位置を返します。この値は、ファイルの先頭からのバイト数 (
オフセット) です。この値が負のときはエラーを示し、反転した値
がシステムエラーコードを表しています ( perror(3F) を参照)。
ftell から返されるオフセットの値は、後から、ファイルの同じ場
所 を参照する際、 fseek で位置を設定するために使うことができ
ます。
注意: 順編成ファイルでは、 fseek につづいて出力操 作 (WRITE
など) を行うと、新しい位置に続くすべてのデータが消去され、新
しいデータレコードに置き換わり、そこにファイルの終端マークが
つけられます。再書き出しは、直接アクセスファイルにのみ行うこ
とができます。
fseeko64 と ftello64 は、それぞれ、 fseek 、 ftell と同じ 機
能ですが、INTEGER*4 のデータ (2 GB) の範囲よりもずっと大きい
ファイル上で使用することができます。大規模ファイルのサポート
は、Solaris 2.6 以降のオペレーティング環境に適用されます。
大規模ファイルを取り扱う場合、 ftello64 から結果を受け取る変
数 も INTEGER*8 と宣言する必要があります。このような処置をと
らないと、値は切り上げられてしまいます。
注意事項
64 ビット環境で動作するように、 -xarch=v9 、 v9a のような コ
ン パイラオプションをつけてコンパイルした場合、 fseek に渡さ
れるオフセット変数が、INTEGER*8 と宣言されていなくてはなりま
せん。
64 ビットバージョンの fseeko64 と ftello64 は、32 ビット環境
と 64 ビット環境での互換作業を支援するために用意されたもので
す。
ファイル
libfui.a
関連項目
fseek(3S)、 perror(3F)