arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
fgetpos()
fgetpos()

この関数の目的

fgetpos()は、ファイルの読み書き位置を取得する。

定義

	#include <stdio.h>
	int fgetpos(FILE *stream, fpos_t *pos);

働き

この関数は、 stream で指されるストリームの現在のファイル位置指定子の値を、pos で指定されるオブジェクトに格納する。 値は、 fsetpos() で fgetpos() 呼び出し時の位置にストリームを移動するのに使用可能な、特定されない情報である。

成功すれば、 0 を返す。失敗すれば、ゼロでない数を返し、 errno に処理系定義の正の数を格納する。

解説

fsetpos() と組にして使えば、ファイル内の一度通過した地点に戻ることができる。

注意すべきは、 pos の指す先が正しい記憶域でなければならないということである。 posNULL などを渡した時の動作は未定義である。 さらに、 fsetpos() で使いたいのなら、その記憶域を保存しておく必要がある。 この点を除けば、 ftell()fseek() の組をテキストストリームに対して使うのに似た使い方になる。

arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
KC