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