basic_istream::seekg
Consente di spostare la posizione letti in un flusso.
basic_istream<Elem, Tr>& seekg(
pos_type pos
);
basic_istream<Elem, Tr>& seekg(
off_type off,
ios_base::seekdir way
);
Parametri
pos
La absolute position in cui spostare il puntatore lettura.off
Un offset per spostare il puntatore in lettura a wayrelativo.way
Una delle enumerazioni ios_base::seekdir.
Valore restituito
Il flusso***this**().
Note
La prima funzione membro esegue una ricerca assoluta, la seconda funzione membro esegue una ricerca relativa.
[!NOTA]
Non utilizzare la seconda funzione membro con file di testo, poiché lo standard C++ non supporta le ricerche di in file di testo.
Se superato è false, le prime chiamate di funzione membro newpos = rdbuf - > pubseekpos(pos), per un oggetto temporaneo newposdi pos_type .Se fail è false, il secondo chiamate di funzione newpos = rdbuf - > pubseekoff(off, way).In entrambi i casi, seoff_type(==) dinewpos (off_type) (- 1) (l'esito negativo di posizionamento delle operazioni), le chiamate di funzione istr.setstate(failbit).Entrambe le funzioni *thisrestituita.
Se superato è true, le funzioni membro non eseguono alcuna operazione.
Esempio
// basic_istream_seekg.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
ifstream file;
char c, c1;
file.open( "basic_istream_seekg.txt" );
file.seekg(2); // seek to position 2
file >> c;
cout << c << endl;
}
Input: basic_istream_seekg.txt
0123456789
Output
2
Requisiti
intestazione: <istream>
Spazio dei nomi: deviazione standard