rewind

ファイル位置指示子を先頭に戻す

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

【説明】
ファイルfpのファイル位置指示子を先頭(0)に戻し、エラー指示子と終端指示子をクリアします。
rewind(fp); は
  fseek(fp,0L,SEEK_SET);
  clerarerr(fp);         と同じ動作です。
fseek(fp,0L,SEEK_SET); では、ファイルfpのファイル位置指示子を先頭(0)に戻し、終端指示子をクリアしますが、エラー指示子のクリアは行いません。rewind関数 はエラー指示子のクリアも行います。

【引数】
FILE *fp : FILEポインタ

【戻り値】
なし

【使用例】
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
        FILE *fp;
        int i;

        if((fp = fopen(argv[1], "w+")) == NULL ) {
                fprintf(stderr,"ファイルオープンエラー\n");
                exit(EXIT_FAILURE);
        }

        printf("現在のファイル位置(書き込み前) = %ld\n",ftell(fp));
                
        /* 'A'を10個書き込み */
        for (i=0; i<10; i++)
                putc('A',fp);
        
        printf("現在のファイル位置(書き込み後) = %ld\n",ftell(fp));
                
        /* ファイル位置を先頭に戻す */
        rewind(fp);
                
        printf("現在のファイル位置(rewind後) = %ld\n",ftell(fp));
                
        fclose(fp);
                
        return 0;
}
【実行結果】
現在のファイル位置(書き込み前) = 0
現在のファイル位置(書き込み後) = 10
現在のファイル位置(rewind後) = 0

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved