Condividi tramite


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 fseekdi , rewind cancella sia gli indicatori di errore per il flusso che l'indicatore di fine del file. Inoltre, a differenza fseekdi , 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_errliste _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

Vedi anche

I/O di flusso