Namensräume
Varianten
Aktionen

std::rewind

Von cppreference.com
< cpp‎ | io‎ | c
 
 
 
C-Style I/O
Typen und Objekte
Funktionen
Datei-Zugriff
Direkte Ein-/Ausgabe
Unformatierte Ein-/Ausgabe
Formatierte Eingabe
(C++11)(C++11)(C++11)    
(C++11)(C++11)(C++11)    
Formatierte Ausgabe
Dateipositionierung
rewind
Fehlerbehandlung
Operationen auf Dateien
 
Definiert in Header <cstdio>
void rewind( std::FILE* stream );

Setzt den Dateizeiger an den Anfang des gegebenen Dateistreams zurück.

Die Funktion ist äquivalent zu std::fseek(stream, 0, SEEK_SET);, mit der Ausnahme, dass die End-of-File- und Fehlerindikatoren gelöscht werden.

Die Funktion verwirft alle Effekte früherer Aufrufe von ungetc.

Inhalt

[bearbeiten] Parameter

stream - Dateistream, der modifiziert werden soll

[bearbeiten] Rückgabewert

(keine)

[bearbeiten] Beispiel

#include <array>
#include <cstdio>
 
int main()
{
    std::FILE* f = std::fopen("file.txt", "w");
    for (char ch = '0'; ch <= '9'; ch++)
        std::fputc(ch, f);
    std::fclose(f);
 
    std::array<char, 20> str;
    std::FILE* f2 = std::fopen("file.txt", "r");
 
    const unsigned size1 = std::fread(str.data(), 1, str.size(), f2);
    std::puts(str.data());
    std::printf("size1 = %u\n", size1);
 
    std::rewind(f2);
 
    const unsigned size2 = std::fread(str.data(), 1, str.size(), f2);
    std::puts(str.data());
    std::printf("size2 = %u", size2);
 
    std::fclose(f2);
}

Ausgabe

0123456789
size1 = 10
0123456789
size2 = 10

[bearbeiten] Siehe auch

verschiebt den Dateipositionierungsindikator an eine bestimmte Stelle in einer Datei
(function) [bearbeiten]
C-Dokumentation für rewind