C ++ streambuf - pubseekoff

Descrizione

Viene utilizzato per impostare il puntatore di posizione interno sulla posizione relativa e chiama il seekoff del membro virtuale protetto con gli stessi argomenti off, way e which.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: basic_streambuf :: pubseekoff.

pos_type pubseekoff (off_type off, ios_base::seekdir way,
                     ios_base::openmode which = ios_base::in | ios_base::out);

Parametri

off - È un valore di offset, relativo al parametro way.

Valore di ritorno

Restituisce sempre 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 illustrato lo std :: basic_streambuf :: pubseekoff.

#include <iostream>     
#include <fstream>      

int main () {
   std::fstream filestr ("sample.txt");
   if (filestr) {
      std::streambuf* pbuf = filestr.rdbuf();
      long size = pbuf->pubseekoff(0,filestr.end);
      std::cout << "The file size is " << size << " characters.\n";
      filestr.close();
   }
   return 0;
}