std::basic_istream<CharT,Traits>:: seekg
|
basic_istream
&
seekg
(
pos_type pos
)
;
|
(1) | |
|
basic_istream
&
seekg
(
off_type off,
std::
ios_base
::
seekdir
dir
)
;
|
(2) | |
Setzt die Eingangspositionsanzeige des aktuell assoziierten
streambuf
Objekts.
Bevor irgendetwas anderes durchgeführt wird,
seekg
löscht
eofbit
.
|
(seit C++11) |
seekg
verhält sich wie
UnformattedInputFunction
, außer dass
gcount()
nicht beeinflusst wird. Nach dem Konstruieren und Überprüfen des Sentry-Objekts,
Inhaltsverzeichnis |
Parameter
| pos | - | absolute Position, auf die der Eingabe-Positionsanzeiger gesetzt werden soll | ||||||||
| off | - | relative Position (positiv oder negativ), auf die der Eingabe-Positionsanzeiger gesetzt werden soll | ||||||||
| dir | - |
definiert die Basisposition, auf die der relative Offset angewendet wird. Es kann eine der folgenden Konstanten sein:
|
Rückgabewert
* this
Exceptions
Wenn eine interne Operation eine Ausnahme auslöst, wird diese abgefangen und
badbit
wird gesetzt. Wenn
exceptions()
für
badbit
gesetzt ist, wird die Ausnahme erneut ausgelöst.
Hinweise
seekg(n) ist nicht notwendigerweise äquivalent zu seekg(n, ios::beg) . std:: basic_ifstream erfordert beispielsweise, dass die absolute Position n von tellg() stammt.
Beispiel
#include <iostream> #include <sstream> #include <string> int main() { std::string str = "Hello, world"; std::istringstream in(str); std::string word1, word2; in >> word1; in.seekg(0); // rewind in >> word2; std::cout << "word1 = " << word1 << '\n' << "word2 = " << word2 << '\n'; }
Ausgabe:
word1 = Hello, word2 = Hello,
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 129 | C++98 | es gab keine Möglichkeit, einen Fehler anzuzeigen |
setzt
failbit
bei Fehler
|
| LWG 136 | C++98 |
seekg
konnte den Ausgabestream setzen
|
setzt nur den Eingabestream |
| LWG 537 | C++98 |
der Typ von
off
war
off_type&
|
korrigiert zu
off_type
|
Siehe auch
|
gibt die Eingangspositionsanzeige zurück
(öffentliche Elementfunktion) |
|
|
gibt die Ausgangspositionsanzeige zurück
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
setzt die Ausgangspositionsanzeige
(öffentliche Elementfunktion von
std::basic_ostream<CharT,Traits>
)
|
|
|
ruft
seekpos
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
positioniert die Dateiposition neu, unter Verwendung absoluter Adressierung
(virtuelle geschützte Elementfunktion von
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung absoluter Adressierung
(virtuelle geschützte Elementfunktion von
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung absoluter Adressierung
(virtuelle geschützte Elementfunktion von
std::strstreambuf
)
|
|
ruft
seekoff
(
)
auf
(öffentliche Elementfunktion von
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
positioniert die Dateiposition neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Elementfunktion von
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Elementfunktion von
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Elementfunktion von
std::strstreambuf
)
|