Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

fseeko64 (3F)

名前

fseek , fseeko64 , ftell , ftello64 - 論理ユニットにファイルを再配置する

形式

integer*4 function fseek (lunit, offset, from)
  integer*4 lunit
  integer*4 offset
  integer*8 offset in 64-bit environments
  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 など) を行うと、新しい位置に続くすべてのデータがレコード削除され、新しいデータレコード (とファイルの終端マーク) で置換されます。適切な位置へのレコードの再書き出しは、直接アクセスファイルでのみ実行できます。

fseeko64ftello64 はそれぞれ、fseekftell と同様に機能します。ただし、最初の 2 つのルーチンは「大規模ファイル」(INTEGER*4 データ (2G バイト) の範囲よりも大きいサイズ (バイト) のファイル) でも機能します。大規模ファイルのサポートは、Solaris 2.6 オペレーティング環境で導入されました。

大規模ファイルを使用する場合は、切り捨てを避けるために、ftello64 から結果を受け取る変数も INTEGER*8 と宣言する必要があります。

64 ビット環境で動作するようにコンパイラオプション -m64 を付けてコンパイルした場合、fseek に渡されるオフセット変数が INTEGER*8 と宣言される必要があります。

32 ビット環境と 64 ビット環境間で移植性が実現されるように、64 ビット版の fseeko64ftello64 が提供されています。

ファイル

libfui.a

関連項目

fseek (3C) , perror (3F)