Ich habe mich nur gefragt, warum die Member-Funktionen tellg()
, die in basic_istream<>
class definiert sind, und tellp()
, die in basic_ostream<>
definiert sind, unterschiedliche Namen haben. Ist das so, weil basic_fstream<>
von basic_istream<>
und basic_ostream<>
abgeleitet ist?
Und wie würdest du sie in bidirektionalen Streams unterscheiden,
wie std::fstream
oder std::stringstream
? Streams sind erlaubt
separate Zeiger für Eingabe und Ausgabe pflegen: fstream
nicht, aber stringstream
tut es. Also brauchst du entweder eine Flagge um
geben Sie an, welches Sie möchten (wie in streambuf
), oder
Sie benötigen zwei separate Funktionen.
tellg()
erhält die Position des get
Zeigers und tellp()
erhält die Position des put
Zeigers, einer davon ist der Ort, an dem Sie lesen und der zweite - wo Sie in die Datei schreiben. Also machen die zwei Funktionen verschiedene Dinge und geben unterschiedliche Werte zurück. Warum solltest du denken, dass sie denselben Namen haben sollten?
Tags und Links c++ filestream