Partager via


rewind

Repositionne le pointeur de fichier au début d’un fichier.

Syntaxe

void rewind(
   FILE *stream
);

Paramètres

stream
Pointeur vers la structure FILE .

Notes

La rewind fonction repositionne le pointeur de fichier associé stream au début du fichier. Un appel à est similaire à rewind

(void) fseek(stream, 0L, SEEK_SET );

Toutefois, contrairement fseekà ce qui se produit, rewind efface les indicateurs d’erreur du flux et de l’indicateur de fin de fichier. En outre, contrairement fseekà , rewind ne retourne pas de valeur pour indiquer si le pointeur a été déplacé avec succès.

Pour effacer la mémoire tampon du clavier, utilisez rewind le flux stdin, qui est associé au clavier par défaut.

Si le flux est un NULL pointeur, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, cette fonction retourne et errno est définie sur EINVAL.

Pour plus d’informations sur ces codes et d’autres codes d’erreur, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
rewind <stdio.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Toutes les versions des bibliothèques Runtime C.

Exemple

// 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 );
   }
}

Sortie

The values written are: 1 and -37
The values read are: 1 and -37

Voir aussi

E/S de flux