Share via


rewind

更新 : 2007 年 11 月

ファイル ポインタをファイルの先頭に移動します。

void rewind(
   FILE *stream 
);

パラメータ

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

解説

rewind 関数は、stream に関連付けられているファイル ポインタをファイルの先頭に移動します。rewind 関数の呼び出しは、次の関数の呼び出しと似ています。

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

ただし、fseek 関数とは異なり、rewind 関数はストリームのエラー インジケータと EOF (EOF: end-of-file) インジケータをクリアします。また、fseek 関数はポインタが正常に移動したかどうかを示す値を返しますが、rewind 関数は返しません。

キーボード バッファをクリアするには、既定でキーボードに関連付けられている標準入力ストリーム (stdin) を引数に指定して rewind 関数を使用します。

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

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

必要条件

ルーチン

必須ヘッダー

rewind

<stdio.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

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

.NET Framework の相当するアイテム

適用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

参照

ストリーム入出力