rewindrewind

ファイル ポインターをファイルの先頭に位置変更します。Repositions the file pointer to the beginning of a file.

構文Syntax

void rewind(
   FILE *stream
);

パラメーターParameters

一連stream
FILE 構造体へのポインター。Pointer to FILE structure.

RemarksRemarks

Rewind関数は、ストリームに関連付けられたファイルポインターをファイルの先頭に再配置します。The rewind function repositions the file pointer associated with stream to the beginning of the file. rewind 関数の呼び出しは、次の関数の呼び出しと似ています。A call to rewind is similar to

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

ただし、 fseekとは異なり、巻き戻しはストリームのエラーインジケーターとファイルの終端インジケーターをクリアします。However, unlike fseek, rewind clears the error indicators for the stream as well as the end-of-file indicator. また、 fseekとは異なり、 rewindはポインターが正常に移動されたかどうかを示す値を返しません。Also, unlike fseek, rewind does not return a value to indicate whether the pointer was successfully moved.

キーボードバッファーをクリアするには、既定でキーボードに関連付けられているストリームstdinrewindを使用します。To clear the keyboard buffer, use rewind with the stream stdin, which is associated with the keyboard by default.

Stream がNULLポインターの場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If stream is a NULL pointer, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、この関数はを返し、 errnoEINVALに設定されます。If execution is allowed to continue, this function returns and errno is set to EINVAL.

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、_sys_nerr」をご覧ください。For information on these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

必要条件Requirements

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

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.

ライブラリLibraries

C ランタイム ライブラリのすべてのバージョン。All versions of the C run-time libraries.

Example

// 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 );
   }
}

OutputOutput

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

関連項目See also

ストリーム入出力Stream I/O