seekWenn es zum Beispiel nur einfach genannt wurde , können Sie keine separaten Zeiger für die Eingabe- und Ausgabeteile eines kombinierten Eingabe- und Ausgabestreams haben.
Einige Programmierer Typ
1
Übrigens: Die Antworten erklären auch das p. Es kann sinnvoller sein, die Frage für das p zu bearbeiten.
user202729
Antworten:
80
In Streams, die sowohl Lesen als auch Schreiben unterstützen, haben Sie tatsächlich zwei Positionen, eine zum Lesen (dh "get" bezeichnet mit "g") und eine zum Schreiben (dh "put" bezeichnet mit einem "p").
Und deshalb haben Sie ein seekp(geerbt von basic_ostream) und ein seekg(geerbt von basic_istream).
Randnotiz: Die Sprache C hat - im Gegensatz zu C ++ - nur eine solche Funktion fseekfür beide Zeiger; Dort muss der Zeiger beim Wechsel von Lesen zu Schreiben und umgekehrt neu positioniert werden (vgl. Beispielsweise diese Antwort). Um dies zu vermeiden, bietet C ++ separate Funktionen zum Lesen bzw. Schreiben.
C ++ bietet beim Navigieren in der Datei zwei Zeiger: den get- Zeiger und den put- Zeiger. Der erste wird für Leseoperationen verwendet, der zweite für Schreiboperationen.
seekg()wird verwendet, um den g et-Zeiger in Bezug auf einen Referenzpunkt an eine gewünschte Stelle zu bewegen .
tellg()wird verwendet, um zu wissen, wo sich der g et-Zeiger in einer Datei befindet.
seekp()wird verwendet, um den P ut-Zeiger in Bezug auf einen Referenzpunkt an eine gewünschte Stelle zu bewegen .
tellp()wird verwendet, um zu wissen, wo sich der P ut-Zeiger in einer Datei befindet.
Hauptquelle: Quora , Antwort von Gunjan B. Yadav am 1. Dezember 2017.
Warum benennen C ++ - Standards APIs so, als ob Tastaturen Kosten pro Tastendruck verursachen? 🙄
Alexander - Reinstate Monica
14
@ Alexander: um zu vermeiden, dass Leute per Tastendruck bezahlt werden. Clevere und geschäftsorientierte Programmierer überwinden dieses Problem natürlich, indem sie ihre eigenen Typen und Wrapper für die Standardbibliothek erfinden, was natürlich immer perfekt funktioniert und keinerlei Nachteile hat.
seek
Wenn es zum Beispiel nur einfach genannt wurde , können Sie keine separaten Zeiger für die Eingabe- und Ausgabeteile eines kombinierten Eingabe- und Ausgabestreams haben.Antworten:
In Streams, die sowohl Lesen als auch Schreiben unterstützen, haben Sie tatsächlich zwei Positionen, eine zum Lesen (dh "get" bezeichnet mit "g") und eine zum Schreiben (dh "put" bezeichnet mit einem "p").
Und deshalb haben Sie ein
seekp
(geerbt vonbasic_ostream
) und einseekg
(geerbt vonbasic_istream
).Randnotiz: Die Sprache C hat - im Gegensatz zu C ++ - nur eine solche Funktion
fseek
für beide Zeiger; Dort muss der Zeiger beim Wechsel von Lesen zu Schreiben und umgekehrt neu positioniert werden (vgl. Beispielsweise diese Antwort). Um dies zu vermeiden, bietet C ++ separate Funktionen zum Lesen bzw. Schreiben.quelle
C ++ bietet beim Navigieren in der Datei zwei Zeiger: den get- Zeiger und den put- Zeiger. Der erste wird für Leseoperationen verwendet, der zweite für Schreiboperationen.
Hauptquelle: Quora , Antwort von Gunjan B. Yadav am 1. Dezember 2017.
quelle