>> C言語関数一覧トップに戻る

C言語 rewind 使い方

今回はC言語のrewind関数について説明します。

rewind関数はファイルポインタの位置を先頭に戻す関数です。

■書式
#include <stdio.h>
void rewind(FILE *fp);

引数にはファイルポインタを指定します。
■サンプルコード
#include <stdio.h>

int main(void)
{
	fpos_t ft;
	FILE *fp;
	

	fp = fopen("test.txt","r");

	//ファイルポインタを末尾まで移動
	fseek(fp,0,SEEK_END);

	//ファイルポインタの位置を取得
	fgetpos(fp,&ft);

	printf("現在のファイルポインタの位置は「%d」です。\n",ft);

	//ファイルポインタを先頭まで戻す
	rewind(fp);

	//ファイルポインタの位置を取得
	fgetpos(fp,&ft);

	//0なので先頭に戻っていることがわかる。
	printf("現在のファイルポインタの位置は「%d」です。\n",ft);


	fclose(fp);
	
	return 0;
}
■実行結果
現在のファイルポインタの位置は「6」です。
現在のファイルポインタの位置は「0」です。



ファイルポインタを末尾まで移動させてその位置を表示してから、
rewindで先頭に戻してその位置を表示しています。
先頭に戻した後のファイルポインタ位置は「0」になっているので、
先頭にファイルポインタが戻っていることがわかります。

fseek(fp,0,SEEK_SET)とほぼ同じ動作ですが、
rewind関数はエラー指示子もクリアします。

>> 【C言語 malloc 使い方】に進む
>> C言語関数一覧トップに戻る