rewind

Setzt den Dateizeiger einer Datei wieder an den Anfang.

Syntax

void rewind(
   FILE *stream
);

Parameter

stream
Zeiger zur FILE -Struktur.

Hinweise

Die rewind Funktion positioniert den Dateizeiger, der dem Anfang der Datei zugeordnet stream ist. Ein Anruf ist rewind vergleichbar mit

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

Im Gegensatz dazu fseekrewind werden jedoch sowohl die Fehlerindikatoren für den Datenstrom als auch der End-of-File-Indikator gelöscht. Gibt im Gegensatz dazu fseekkeinen Wert zurück, um anzugeben, rewind ob der Zeiger erfolgreich verschoben wurde.

Verwenden Sie rewind zum Löschen des Tastaturpuffers standardmäßig den Datenstrom stdin, der der Tastatur zugeordnet ist.

Wenn stream ein NULL Zeiger ist, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die Ausführung fortgesetzt werden darf, wird diese Funktion zurückgegeben und errno auf EINVAL.

Weitere Informationen zu diesen und anderen Fehlercodes finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Anforderungen

Routine Erforderlicher Header
rewind <stdio.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Libraries

Alle Versionen der C-Laufzeitbibliotheken.

Beispiel

// 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

Weitere Informationen

Stream-E/A