rewind
Přemísťuje ukazatel souboru na začátek souboru.
Syntaxe
void rewind(
FILE *stream
);
Parametry
stream
Ukazatel na FILE
strukturu.
Poznámky
Funkce rewind
přeloží ukazatel souboru přidružený stream
na začátek souboru. Volání se podobá volání rewind
(void) fseek(stream, 0L, SEEK_SET );
Na rozdíl od fseek
funkce však rewind
vymaže indikátory chyb pro datový proud i indikátor konce souboru. Na rozdíl od fseek
funkce nevrací rewind
hodnotu, která označuje, jestli byl ukazatel úspěšně přesunut.
Pokud chcete vymazat vyrovnávací paměť klávesnice, použijte rewind
se streamem stdin
, který je ve výchozím nastavení přidružený k klávesnici.
Pokud je datový proud ukazatelem NULL
, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, vrátí tato funkce a errno
je nastavena na EINVAL
.
Informace o těchto a dalších kódech chyb naleznete v tématu , , , a_sys_nerr
. _sys_errlist
_doserrno
errno
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
rewind |
<stdio.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Všechny verze knihoven runtime jazyka C.
Příklad
// 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 );
}
}
Výstup
The values written are: 1 and -37
The values read are: 1 and -37