Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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