rewind

ファイル ポインターをファイルの先頭に位置変更します。

構文

void rewind(
   FILE *stream
);

パラメーター

stream
FILE 構造体へのポインター。

解説

この関数は rewind 、ファイルの先頭に関連付 stream けられているファイル ポインターの位置を変更します。 呼び出し rewind は次のようになります。

(void) fseek(stream, 0L, SEEK_SET );

ただし、とは異なり fseekrewind ストリームのエラー インジケーターとファイル終了インジケーターの両方がクリアされます。 また、とは異なり fseekrewind ポインターが正常に移動されたかどうかを示す値は返されません。

キーボード バッファーをクリアするには、既定でキーボードに関連付けられているストリームstdinと共に使用rewindします。

ストリームがポインターのNULL場合、「パラメーターの検証」で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行を続行できる場合、この関数は戻り値を返し errno 、次に EINVAL設定します。

これらのエラー コードおよびその他のエラー コードの詳細については、「errno_doserrno_sys_errlist_sys_nerr」を参照してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください

必要条件

ルーチンによって返される値 必須ヘッダー
rewind <stdio.h>

互換性の詳細については、「 Compatibility」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

// crt_rewind.c
/* This program first opens a file named
* crt_rewind.out for input and output and writes two
* integers to the file. Next, it uses rewind to
* reposition the file pointer to the beginning of
* the file and reads the data back in.
*/
#include <stdio.h>

int main( void )
{
   FILE *stream;
   int data1, data2;

   data1 = 1;
   data2 = -37;

   fopen_s( &stream, "crt_rewind.out", "w+" );
   if( stream != NULL )
   {
      fprintf( stream, "%d %d", data1, data2 );
      printf( "The values written are: %d and %d\n", data1, data2 );
      rewind( stream );
      fscanf_s( stream, "%d %d", &data1, &data2 );
      printf( "The values read are: %d and %d\n", data1, data2 );
      fclose( stream );
   }
}

出力

The values written are: 1 and -37
The values read are: 1 and -37

関連項目

ストリーム入出力