rewind
ファイル ポインターをファイルの先頭に位置変更します。
構文
void rewind(
FILE *stream
);
パラメーター
stream
FILE
構造体へのポインター。
注釈
関数は rewind
、 に関連付けられている stream
ファイル ポインターをファイルの先頭に再配置します。 の rewind
呼び出しは 次のようになります。
(void) fseek(stream, 0L, SEEK_SET );
ただし、 とは異なりfseek
rewind
、ストリームのエラー インジケーターとファイルの終了インジケーターの両方がクリアされます。 また、 とは異なりfseek
rewind
、ポインターが正常に移動されたかどうかを示す値は返されません。
キーボード バッファーをクリアするには、既定でキーボードに関連付けられている ストリーム stdin
で を使用rewind
します。
stream がポインターの 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