日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




ファイルの位置をファイル内の指定されたバイト・オフセットに設定します。

形式

#include <stdio.h>

int fseek (FILE *file_ptr, long int offset, int direction);


引数



file_ptr

ファイル・ポインタ。

offset

バイト数で指定したオフセット。

direction

新しい位置を計算するために offset が加算される位置を示す整数。新しい位置は,direction が SEEK_SET の場合はファイルの先頭, direction が SEEK_CUR の場合はファイル位置指示子の現在の値, direction が SEEK_END の場合はファイルの終端 (EOF) になります。

説明

fseek関数は,キャリッジ制御やストリーム・アクセス・ファイルを含まない固定長レコード・アクセス・ファイルの場合,ファイルの位置を任意のバイト・オフセットに設定できますが,他のすべてのファイルの場合はレコード境界にのみ設定できます。

提供される標準 I/O 関数は,可変長または VFC レコード・ファイルを最初のバイト,ファイルの終端 (EOF),レコード境界のいずれかに設定します。したがって, fseekに指定する引数は次のいずれかを指定しなければなりません。

  • ファイルの先頭または終端

  • 現在の位置からオフセット 0 (任意のレコード境界)

  • 前の有効な ftell呼び出しから返された位置

これらのレコード・タイプのファイルで任意の位置までシークするための移植可能な方法については, fgetposおよび fsetpos関数を参照してください。

  警告
ストリーム・ファイルにアクセスするときに,ファイルの終端 (EOF) を超えてシークし,ファイルに書き込んだ場合, fseek関数はスキップしたバイトに 0 を埋め込むことにより,ホールを作成します。

一般にレコード・ファイルに対して fseek関数を使用する場合, ftellに対する前の有効な呼び出しによって返された絶対位置に設定するか,あるいはファイルの先頭または終端に設定するようにしなければなりません。 fseekの呼び出しがこれらの条件を満たさない場合,結果は予測できません。

opencreatdupdup2lseekも参照してください。


戻り値

0 シークが正常終了したことを示します。
-1    不正なシークが指定されたことを示します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.