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) | |
Définit l'indicateur de position d'entrée du
streambuf
associé actuel.
Avant de faire quoi que ce soit d'autre,
seekg
efface
eofbit
.
|
(depuis C++11) |
seekg
se comporte comme une
UnformattedInputFunction
, sauf que
gcount()
n'est pas affecté. Après avoir construit et vérifié l'objet sentinelle,
Table des matières |
Paramètres
| pos | - | position absolue pour définir l'indicateur de position d'entrée | ||||||||
| off | - | position relative (positive ou négative) pour définir l'indicateur de position d'entrée | ||||||||
| dir | - |
définit la position de base à laquelle appliquer le décalage relatif. Il peut s'agir d'une des constantes suivantes :
|
Valeur de retour
* this
Exceptions
Si une opération interne lève une exception, elle est capturée et
badbit
est défini. Si
exceptions()
est défini pour
badbit
, l'exception est relancée.
Notes
seekg(n) n'est pas nécessairement équivalent à seekg(n, ios::beg) . std:: basic_ifstream , par exemple, requiert que la position absolue n provienne de tellg() .
Exemple
#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'; }
Sortie :
word1 = Hello, word2 = Hello,
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 129 | C++98 | il n'y avait aucun moyen d'indiquer un échec |
positionne
failbit
en cas d'échec
|
| LWG 136 | C++98 |
seekg
pouvait positionner le flux de sortie
|
positionne uniquement le flux d'entrée |
| LWG 537 | C++98 |
le type de
off
était
off_type&
|
corrigé en
off_type
|
Voir aussi
|
renvoie l'indicateur de position d'entrée
(fonction membre publique) |
|
|
renvoie l'indicateur de position de sortie
(fonction membre publique de
std::basic_ostream<CharT,Traits>
)
|
|
|
définit l'indicateur de position de sortie
(fonction membre publique de
std::basic_ostream<CharT,Traits>
)
|
|
|
invoque
seekpos
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
repositionne la position du fichier, en utilisant l'adressage absolu
(fonction membre protégée virtuelle de
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux en utilisant l'adressage absolu
(fonction membre protégée virtuelle de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux en utilisant l'adressage absolu
(fonction membre protégée virtuelle de
std::strstreambuf
)
|
|
invoque
seekoff
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|
|
|
[virtual]
|
repositionne la position du fichier, en utilisant l'adressage relatif
(fonction membre protégée virtuelle de
std::basic_filebuf<CharT,Traits>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux, en utilisant l'adressage relatif
(fonction membre protégée virtuelle de
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
repositionne le pointeur suivant dans la séquence d'entrée, la séquence de sortie, ou les deux, en utilisant l'adressage relatif
(fonction membre protégée virtuelle de
std::strstreambuf
)
|