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

この関数の目的

fsetpos()は、ファイルの読み書き位置をセットする。

定義

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

働き

この関数は、 stream の指すストリームのファイル位置指定子を pos の指すオブジェクトに従ってセットする。 pos の値は以前の fgetpos() により取得されるものでなければならない。

成功すれば、ストリームのファイルの終わり指定子は解除され、同じストリームへの ungetc() の効果は全て元に戻される。 fsetpos() の後の更新ストリームへの操作は、入力でも出力でもよい。

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

解説

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

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

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