rewind
Riposiziona il puntatore di file all'inizio di un file.
Sintassi
void rewind(
FILE *stream
);
Parametri
stream
Puntatore alla struttura FILE
.
Osservazioni:
La rewind
funzione riposiziona il puntatore al file associato all'inizio stream
del file. Una chiamata a rewind
è simile a
(void) fseek(stream, 0L, SEEK_SET );
Tuttavia, a differenza fseek
di , rewind
cancella sia gli indicatori di errore per il flusso che l'indicatore di fine del file. Inoltre, a differenza fseek
di , rewind
non restituisce un valore per indicare se il puntatore è stato spostato correttamente.
Per cancellare il buffer della tastiera, usare rewind
con il flusso stdin
, associato alla tastiera per impostazione predefinita.
Se stream è un NULL
puntatore, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, questa funzione restituisce e errno
viene impostata su EINVAL
.
Per informazioni su questi e altri codici di errore, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
rewind |
<stdio.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie
Tutte le versioni delle librerie di runtime C.
Esempio
// 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 );
}
}
Output
The values written are: 1 and -37
The values read are: 1 and -37