# マニュアルページ fseek.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)