std::basic_ostream<CharT,Traits>:: seekp
From cppreference.net
<
cpp
|
io
|
basic ostream
|
basic_ostream
&
seekp
(
pos_type pos
)
;
|
(1) | |
|
basic_ostream
&
seekp
(
off_type off,
std::
ios_base
::
seekdir
dir
)
;
|
(2) | |
Setzt die Ausgabepositionsanzeige des aktuell assoziierten
streambuf
-Objekts.
|
Verhält sich wie eine UnformattedOutputFunction (allerdings ohne tatsächlich Ausgabe durchzuführen). Nach dem Konstruieren und Überprüfen des Sentry-Objekts, |
(since C++11) |
1)
Wenn
fail
(
)
!
=
true
, setzt die Ausgabepositionsanzeige auf den absoluten (relativ zum Dateianfang) Wert
pos
durch Aufruf von
rdbuf
(
)
-
>
pubseekpos
(
pos,
std::
ios_base
::
out
)
. Im Fehlerfall ruft
setstate
(
std::
ios_base
::
failbit
)
auf.
2)
Falls
fail
(
)
!
=
true
, setzt die Ausgabepositionsanzeige auf Offset
off
relativ zu
dir
durch Aufruf von
rdbuf
(
)
-
>
pubseekoff
(
off, dir,
std::
ios_base
::
out
)
. Im Fehlerfall ruft
setstate
(
std::
ios_base
::
failbit
)
auf.
Inhaltsverzeichnis |
Parameter
| pos | - | Absolute Position, um die Ausgabepositionsanzeige zu setzen | ||||||||
| off | - | Relative Position (positiv oder negativ), um die Ausgabepositionsanzeige zu setzen | ||||||||
| dir | - |
Definiert die Basisposition, auf die der relative Offset angewendet wird. Es kann eine der folgenden Konstanten sein:
|
Rückgabewert
* this
Exceptions
Beispiel
Diesen Code ausführen
#include <iostream> #include <sstream> int main() { std::ostringstream os("hello, world"); os.seekp(7); os << 'W'; os.seekp(0, std::ios_base::end); os << '!'; os.seekp(0); os << 'H'; std::cout << os.str() << '\n'; }
Ausgabe:
Hello, World!
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 129 | C++98 | es gab keine Möglichkeit, einen Fehler anzuzeigen |
setzt bei Fehler
failbit
|
| LWG 136 | C++98 |
seekp
konnte den Eingabestream setzen
|
setzt nur den Ausgabestream |
| LWG 537 | C++98 |
1. der Typ von
pos
war
pos_type&
2. der Typ von off war
off_type&
|
1. korrigiert zu
pos_type
2. korrigiert zu
off_type
|
| LWG 2341 | C++98 | die Lösung von LWG Issue 129 für Überladung (2) wurde entfernt | wiederhergestellt |
Siehe auch
|
gibt die Ausgabepositionsanzeige zurück
(öffentliche Elementfunktion) |
|
|
gibt die Eingabepositionsanzeige zurück
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|
|
|
setzt die Eingabepositionsanzeige
(öffentliche Elementfunktion von
std::basic_istream<CharT,Traits>
)
|