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) | |
Establece el indicador de posición de salida del objeto
streambuf
asociado actual.
|
Se comporta como UnformattedOutputFunction (excepto sin realizar realmente la salida). Después de construir y verificar el objeto sentry, |
(since C++11) |
1)
si
fail
(
)
!
=
true
, establece el indicador de posición de salida al valor absoluto (relativo al inicio del archivo)
pos
llamando a
rdbuf
(
)
-
>
pubseekpos
(
pos,
std::
ios_base
::
out
)
. En caso de fallo, llama a
setstate
(
std::
ios_base
::
failbit
)
.
2)
si
fail
(
)
!
=
true
, establece el indicador de posición de salida al desplazamiento
off
relativo a
dir
llamando a
rdbuf
(
)
-
>
pubseekoff
(
off, dir,
std::
ios_base
::
out
)
. En caso de fallo, llama a
setstate
(
std::
ios_base
::
failbit
)
.
Contenidos |
Parámetros
| pos | - | posición absoluta para establecer el indicador de posición de salida | ||||||||
| off | - | posición relativa (positiva o negativa) para establecer el indicador de posición de salida | ||||||||
| dir | - |
define la posición base para aplicar el desplazamiento relativo. Puede ser una de las siguientes constantes:
|
Valor de retorno
* this
Excepciones
Ejemplo
Ejecutar este código
#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'; }
Salida:
Hello, World!
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 129 | C++98 | no había forma de indicar un fallo |
establece
failbit
en caso de fallo
|
| LWG 136 | C++98 |
seekp
podía establecer el flujo de entrada
|
solo establece el flujo de salida |
| LWG 537 | C++98 |
1. el tipo de
pos
era
pos_type&
2. el tipo de off era
off_type&
|
1. corregido a
pos_type
2. corregido a
off_type
|
| LWG 2341 | C++98 | la resolución de LWG issue 129 para la sobrecarga (2) fue eliminada | restaurada |
Véase también
|
devuelve el indicador de posición de salida
(función miembro pública) |
|
|
devuelve el indicador de posición de entrada
(función miembro pública de
std::basic_istream<CharT,Traits>
)
|
|
|
establece el indicador de posición de entrada
(función miembro pública de
std::basic_istream<CharT,Traits>
)
|