rewind
Zmienia położenie wskaźnika pliku na początek pliku.
Składnia
void rewind(
FILE *stream
);
Parametry
stream
Wskaźnik do FILE
struktury.
Uwagi
Funkcja rewind
zmienia położenie wskaźnika pliku skojarzonego z stream
początkiem pliku. Wywołanie metody rewind
jest podobne do
(void) fseek(stream, 0L, SEEK_SET );
Jednak w przeciwieństwie do fseek
metody , rewind
czyści zarówno wskaźniki błędu dla strumienia, jak i wskaźnika końca pliku. Ponadto, w przeciwieństwie do fseek
elementu , rewind
nie zwraca wartości, aby wskazać, czy wskaźnik został pomyślnie przeniesiony.
Aby wyczyścić bufor klawiatury, użyj rewind
strumienia stdin
, który jest domyślnie skojarzony z klawiaturą.
Jeśli strumień jest wskaźnikiem NULL
, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, ta funkcja zwraca wartość i errno
jest ustawiona na EINVAL
.
Aby uzyskać informacje na temat tych i innych kodów błędów, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
rewind |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Biblioteki
Wszystkie wersje bibliotek czasu wykonywania języka C.
Przykład
// 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 );
}
}
Wynik
The values written are: 1 and -37
The values read are: 1 and -37