次の方法で共有


rewind

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

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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

参照

ストリーム入出力