basic_istream::seekg
Przesuwa pozycję odczytu w strumieniu.
basic_istream<Elem, Tr>& seekg(
pos_type pos
);
basic_istream<Elem, Tr>& seekg(
off_type off,
ios_base::seekdir way
);
Parametry
pos
Położenie bezwzględne w którym przesuwania wskaźnika odczytu.off
Przesunięcie do przesuwania wskaźnika odczytu w stosunku do way.way
Jednym z ios_base::seekdir wyliczenia.
Wartość zwracana
Strumień (* to).
Uwagi
Pierwsza funkcja Członkowskie wykonuje bezwzględne seek, względne seek wykonuje funkcję drugiego członka.
[!UWAGA]
Nie należy używać funkcji drugiego członka z plików tekstowych, ponieważ nie obsługuje Standard C++ względna zmierza w plikach tekstowych.
Jeśli się niepowodzeniem ma wartość false, pierwszego wywołania funkcji Członkowskich newpos = rdbuf ->pubseekpos(pos), w przypadku niektórych pos_type tymczasowy obiekt newpos.Jeśli się niepowodzeniem ma wartość false, drugi wywołania funkcji newpos = rdbuf ->pubseekoff(off, way).W obu przypadkach jeśli (off_type)newpos == (off_type)(-1) (pozycjonowania operacja kończy się niepowodzeniem), wywołania funkcji istr.setstate(failbit).Obie funkcje zwracają * to.
Jeśli się niepowodzeniem ma wartość true, nic nie rób funkcji elementów członkowskich.
Przykład
// 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;
}
Dane wejściowe: basic_istream_seekg.txt
0123456789
Dane wyjściowe
2
Wymagania
Nagłówek:<istream>
Przestrzeń nazw: std