rewind
Dosya işaretçisini dosyanın başına yeniden konumlandırır.
Sözdizimi
void rewind(
FILE *stream
);
Parametreler
stream
Yapı işaretçisi FILE
.
Açıklamalar
işlevi, rewind
dosyanın başlangıcıyla stream
ilişkili dosya işaretçisini yeniden konumlandırır. çağrısı şuna rewind
benzer:
(void) fseek(stream, 0L, SEEK_SET );
Ancak, aksine fseek
, rewind
akışın hata göstergelerini ve dosya sonu göstergesini temizler. Ayrıca, değerinden farklı olarakfseek
rewind
, işaretçinin başarıyla taşınıp taşınmadığını belirten bir değer döndürmez.
Klavye arabelleği temizlemek için, varsayılan olarak klavyeyle ilişkili akışıyla stdin
kullanınrewind
.
Akış bir NULL
işaretçiyse, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlev döner ve errno
olarak EINVAL
ayarlanır.
Bunlar ve diğer hata kodları hakkında bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
rewind |
<stdio.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar
C çalışma zamanı kitaplıklarının tüm sürümleri.
Örnek
// 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 );
}
}
Çıktı
The values written are: 1 and -37
The values read are: 1 and -37