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) | |
Establece el indicador de posición de entrada del objeto
streambuf
asociado actual.
Antes de hacer cualquier otra cosa,
seekg
borra
eofbit
.
|
(since C++11) |
seekg
se comporta como
UnformattedInputFunction
, excepto que
gcount()
no se ve afectado. Después de construir y verificar el objeto centinela,
Contenidos |
Parámetros
| pos | - | posición absoluta para establecer el indicador de posición de entrada | ||||||||
| off | - | posición relativa (positiva o negativa) para establecer el indicador de posición de entrada | ||||||||
| dir | - |
define la posición base para aplicar el desplazamiento relativo. Puede ser una de las siguientes constantes:
|
Valor de retorno
* this
Excepciones
Si una operación interna lanza una excepción, es capturada y se establece
badbit
. Si
exceptions()
está configurado para
badbit
, la excepción es relanzada.
Notas
seekg(n) no es necesariamente equivalente a seekg(n, ios::beg) . std:: basic_ifstream , por ejemplo, requiere que la posición absoluta n provenga de tellg() .
Ejemplo
#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'; }
Salida:
word1 = Hello, word2 = Hello,
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 |
seekg
podía establecer el flujo de salida
|
solo establece el flujo de entrada |
| LWG 537 | C++98 |
el tipo de
off
era
off_type&
|
corregido a
off_type
|
Véase también
|
devuelve el indicador de posición de entrada
(función miembro pública) |
|
|
devuelve el indicador de posición de salida
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
|
establece el indicador de posición de salida
(función miembro pública de
std::basic_ostream<CharT,Traits>
)
|
|
|
invoca
seekpos
(
)
(función miembro pública de
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
reposiciona la posición del archivo, usando direccionamiento absoluto
(función miembro protegida virtual de
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas usando direccionamiento absoluto
(función miembro protegida virtual de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas usando direccionamiento absoluto
(función miembro protegida virtual de
std::strstreambuf
)
|
|
invoca
seekoff
(
)
(función miembro pública de
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
reposiciona la posición del archivo, usando direccionamiento relativo
(función miembro protegida virtual de
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas, usando direccionamiento relativo
(función miembro protegida virtual de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
reposiciona el siguiente puntero en la secuencia de entrada, secuencia de salida, o ambas, usando direccionamiento relativo
(función miembro protegida virtual de
std::strstreambuf
)
|