【書式】
#include <stdio.h>
int fseek(FILE *fp, long offset, int ptrname);
【解説】
fseek() はファイルポインタfpで示されるファイルの次のリードライト位置
を変更します。新しい位置はptrnameが示す場所からoffset バイトだけ前あ
るいは後になります。
ptrname の値は<stdio.h>で定義されている次の3種類の指定方法のうちひと
つを選択できます。
SEEK_SET
ファイルの先頭からの絶対位置
SEEK_CUR
現在の位置からの相対位置
SEEK_END
ファイルの最後からの相対位置
【リターン値】
成功した場合は0を返し、失敗したときは0以外の値を返します。
【可搬性】
ANSI, UNIX, DOS窓
【参照】
ftell(3), rewind(3), lseek(3)
【バグ】
テキストモードのファイルに対して
fseek(fp, 0L, SEEK_END);
を実行したとき、 ファイルの最後に '\x1A' があると、 現在の位置はその
'\x1A'の前になります。これは、最後に'\x1A'を持つファイルの後ろにデー
タを追加したとき、それが'\x1A'の後ろに入ると好ましくないからです。
バイナリモードのファイルではこのようなことはありません。
【copyright (c) 安江正樹@東海大学理学部物理学科】