====== rewind() ====== ''rewind()'' ist in der ''[[c:lib:stdio:start|stdio]]'' definiert, die in C über ''stdio.h'', bzw in C++ über ''cstdio'' eingebunden wird. ===== Funktion ===== ''rewind()'' dient dazu die aktuelle Schreibe/Lese-Position in der angegebenen Datei bzw im angegebenem Stream an den Anfang zurück zu setzen. ===== Signatur ===== #include void rewind(FILE *file); **file**: Zeiger auf geöffneten Stream.\\ Der Aufruf von ''rewind()'' bewirkt das gleiche wie der Aufruf von fseek (file, 0, SEEK_SET); ''rewind()'' setzt jedoch zusätzlich den Fehler-Indikator zurück. \\ Wurde die Datei bzw. der Stream zum Lesen und Schreiben geöffnet kann mit ''rewind()'' zwischen Lesen und Schreiben gewechselt werden. ===== Fehlerquellen ===== Durch den automatischen Wechsel zwischen Schreib- und Lesemodus kann es zu Fehlern kommen, wenn man die falschen Operationen auf den Stream ausführt. ===== Beispiel ===== #include #include int main() { char text[] = "proggen.org", buffer[12]; int i; FILE *file = fopen ("test.txt", "w"); // neue Datei erstellen if (file != NULL) // prüfe ob die Datei korrekt erstellt wurde { fputs (text, file); // screibe Text in die Datei fclose (file); // Datei schließen } file = fopen ("test.txt", "r"); // Datei zum Lesen öffnen if (file != NULL) // prüfe ob die Datei korrekt geöffnet wurde { for (i = 0; i < 5; i++) { fgets (buffer, 12, file); // Daten aus der Datei auslesen printf ("%s\n", buffer); // Daten ausgeben rewind (file); // Datei zurücksetzen } fclose (file); // Datei schließen } return EXIT_SUCCESS; } Ausgabe: proggen.org proggen.org proggen.org proggen.org proggen.org ===== siehe auch ===== [[c:lib:stdio:start|stdio]]: [[c:lib:stdio:fseek|fseek()]]