Teilen über


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.

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

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Anforderungen

Routine Erforderlicher Header
rewind <stdio.h>

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

Bibliotheken

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

Ausgabe

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

Siehe auch

Stream-E/A