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 fseek
rewind
werden jedoch sowohl die Fehlerindikatoren für den Datenstrom als auch der End-of-File-Indikator gelöscht. Gibt im Gegensatz dazu fseek
keinen 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