C ++ streambuf - pubseekpos
Descrizione
Viene utilizzato per impostare il puntatore di posizione interno sulla posizione assoluta e chiama il membro virtuale protetto seekpos con gli stessi argomenti pos e which.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: basic_streambuf :: pubseekpos.
pos_type pubseekpos (pos_type pos, ios_base::openmode which = ios_base::in | ios_base::out);
Parametri
off - È una nuova posizione assoluta per il puntatore di posizione.
Valore di ritorno
Restituisce il nuovo valore di posizione del puntatore di posizione modificato.
Eccezioni
Basic guarantee - se viene generata un'eccezione, il buffer del flusso è in uno stato valido.
Gare di dati
Modifica l'oggetto buffer del flusso.
Esempio
Nell'esempio seguente viene spiegato std :: basic_streambuf :: pubseekpos.
#include <iostream>
#include <fstream>
int main () {
std::fstream filestr ("test.txt");
if (filestr) {
std::streambuf* pbuf = filestr.rdbuf();
long size = pbuf->pubseekoff(0,filestr.end);
if (size>20) {
char buffer[11];
pbuf->pubseekpos(10);
pbuf->sgetn (buffer,10);
buffer[10]=0;
std::cout << buffer << '\n';
}
filestr.close();
}
return 0;
}